Processing Host Transfer Requests for Direct Block Access Storage Devices
First Claim
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 host context corresponding to a received host transfer request;
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;
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) a storage media coupled to the media controller; and
transmitting, by the host subsystem, the data associated with the one or more sequencer contexts 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; 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.
6 Assignments
0 Petitions
Accused Products
Abstract
Described embodiments provide a host subsystem that generates a host context corresponding to a received host data transfer request. A programmable sequencer generates one or more sequencer contexts based on the host context. Each of the sequencer contexts corresponds to at least part of the host data transfer request. The sequencer contexts are provided to a buffer subsystem of the media controller. For host read requests, the buffer subsystem retrieves the data associated with the sequencer contexts of the read request from a corresponding buffer or a storage media and transmits the data associated with the sequencer contexts to the host device. For host write requests, the buffer subsystem receives the data associated with the host context from the host device and stores the data associated with the sequencer contexts of the write request to a corresponding buffer or the storage media.
87 Citations
21 Claims
-
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 host context corresponding to a received host transfer request; 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; 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) a storage media coupled to the media controller; and transmitting, by the host subsystem, the data associated with the one or more sequencer contexts 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; 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. - View Dependent Claims (2, 3, 4, 5, 6, 7, 21)
-
-
8. A media controller for processing a transfer request from a host device, the media controller comprising:
-
a host subsystem for generating a host context corresponding to a received host transfer request; a buffer subsystem for buffering data transferred between the host subsystem and a storage media; a programmable sequencer for i) generating, 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, and ii) providing the one or more sequencer contexts to the buffer subsystem; wherein, if the host transfer request is a read request; the buffer subsystem is adapted to retrieve the data associated with the one or more sequencer contexts, from at least one of a corresponding buffer and the storage media; and the host subsystem is adapted to transmit the retrieved data to the host device; otherwise, if the host transfer request is a write request; the buffer subsystem is adapted to i) receive the data associated with the host context from the host device, and ii) store the data associated with the one or more sequencer contexts to at least one of a corresponding buffer and the storage media. - View Dependent Claims (9, 10, 11, 12, 13, 14)
-
-
15. A machine-readable storage medium, having encoded thereon program code, wherein, when the program code is executed by a machine, the machine implements a method of processing a data transfer request from a host device, by a media controller, the method comprising:
-
generating, by a host subsystem, a host context corresponding to a received host data transfer request; 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 data transfer request; providing, by the programmable sequencer, the one or more sequencer contexts to a buffer subsystem of the media controller; if the host data 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) a storage media coupled to the media controller; and transmitting, by the host subsystem, the data associated with the one or more sequencer contexts to the host device; otherwise, if the host data transfer request is a write request; receiving, by the buffer subsystem, the data associated with the host context from the host device; 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. - View Dependent Claims (16, 17, 18, 19, 20)
-
Specification