Method and system for shared high speed cache in SAS switches
AssigneeLSI Corporation
InventorAnkit Sihare
Life of this patent
Estimating the term…
Abstract
A data storage system includes at least one host device configured to initiate a data request, at least one target device configured to store data, and a serial attached SCSI (SAS) switch coupled between the at least one host device and the at least one target device. The SAS switch includes a cache memory and includes control programming configured to determine whether data of the data request is stored in the cache is at least one of data stored in the cache memory of the SAS switch or data to be written in the cache memory of the SAS switch. The cache memory of the SAS switch is a shared cache that is shared across each of the at least one host device and the at least one target device.
Claims20
A data storage system, comprising:
- at least one host device configured to initiate a data request;
- a plurality of target devices configured to store data;
- and
- a serial attached SCSI (SAS) switch coupled between the at least one host device and the plurality of target devices, the SAS switch including an integrated cache memory, a processor, a plurality of ports, and control programming, wherein the control programming of the SAS switch is configured to:
- as the data request is passed through the SAS switch from the at least one host device to one or more of the plurality of target devices, determine whether to designate data of the data request as cache data;
- determine whether data of the data request is stored in the cache memory of the SAS switch;
- determine whether data of the data request is data to be written in the cache memory of the SAS switch;
- when the data request is a write request, upon a determination of a cache hit, write data in the cache and close the write request;
- and
- when the data request is a read request, upon a determination of a cache hit, serve data from cache and close the read request,
- wherein the cache memory of the SAS switch is a shared cache that is shared across each of the at least one host device and the plurality of target devices.
A method of processing a data request in a data storage system which includes at least one host device, a plurality of target devices, and a serial attached SCSI (SAS) switch, the SAS switch including a cache, a processor, a plurality of ports, and control programming, the method comprising:
- receiving a data request from a host device of the at least one host device;
- determining whether the data request is a read command or a write command;
- when the data request is a read command, determining whether data of the data request is stored in the cache, the cache being integrated in the SAS switch;
- when the data is stored in the cache integrated in the SAS switch, serving the data request from the cache integrated in the SAS switch;
- closing the read command upon serving the data request from the cache integrated in the SAS switch;
- when the data is not stored in the cache integrated in the SAS switch, forwarding the read command from the SAS switch to a target device of the plurality of target devices;
- when the data request is a write command, determining whether data of the data request is at least one of a hotspot or data to be stored in the cache integrated in the SAS switch;
- when the data is at least one of a hotspot or data to be stored in the cache integrated in the SAS switch, writing the data to the cache integrated in the SAS switch;
- closing the write command upon writing the data to the cache integrated in the SAS switch;
- and
- when the data is not at least one of a hotspot or data to be stored in the cache integrated in the SAS switch, accessing a target device of the plurality of target devices to write the data.
A method of processing a read request and a write request from a host device in a data storage system which includes at least one host device, a plurality of target devices, and a serial attached SCSI (SAS) switch, the SAS switch including a cache, a processor, and control programming, the method comprising:
- receiving the read request and the write request from the host device;
- when the read request is received, determining whether data of the read request is stored in the cache, the cache being integrated in the SAS switch;
- when the data is stored in the cache integrated in the SAS switch, serving the data request from the cache integrated in the SAS switch;
- closing the read request upon serving the data request from the cache integrated in the SAS switch;
- when the data is not stored in the cache integrated in the SAS switch, forwarding the read request from the SAS switch to a target device of the plurality of target devices;
- when the write request is received, determining whether data of the write request is data to be stored in the cache integrated in the SAS switch;
- when the data is data to be stored in the cache integrated in the SAS switch, writing the data to the cache integrated in the SAS switch;
- closing the write request upon writing the data to the cache integrated in the SAS switch;
- and
- when the data is not data to be stored in the cache integrated in the SAS switch, accessing a target device of the plurality of target devices to write the data.
Dependencies are inferred from the claim text.