Method and apparatus for protecting the integrity of cached data in a direct-attached storage (DAS) system
First Claim
Patent Images
1. A direct-attached storage (DAS) system comprising:
- an array of magnetic hard disk drives (HDDs);
an array of solid state disks (SSDs); and
at least first and second DAS controllers connected to the array of HDDs and to the SSD array, each DAS controller having a central processing unit (CPU), a local memory device, and an input/output (I/O) interface device, wherein each of the DAS controllers is configured to perform a caching algorithm that causes data received in the respective DAS controller to be temporarily stored in a cache memory of the SSD array and subsequently stored in one or more of the HDDs of the array of HDDs, wherein the data has metadata associated therewith, and wherein the caching algorithms performed by the respective DAS controllers cause the data to be stored in blocks in the SSD array, each block including a data integrity field (DIF), and wherein the respective DAS controllers cause the metadata associated with the data received in the respective DAS controller to be stored in at least one of the DIFs associated with at least one of the blocks in which the associated data is stored in the SSD array.
9 Assignments
0 Petitions
Accused Products
Abstract
A DAS system that implements RAID technology is provided in which an array of solid state disks (SSDs) that is external to the DAS controllers of the DAS system is used by the DAS controllers as WB cache memory for performing WB caching operations. Using the external SSD array as WB cache memory allows the DAS system to be fully cache coherent without significantly increasing the complexity of the DAS system and without increasing the amount of bandwidth that is utilized for performing caching operations. In addition, using the external SSD array as WB cache memory obviates the need to mirror DAS controllers.
14 Citations
16 Claims
-
1. A direct-attached storage (DAS) system comprising:
-
an array of magnetic hard disk drives (HDDs); an array of solid state disks (SSDs); and at least first and second DAS controllers connected to the array of HDDs and to the SSD array, each DAS controller having a central processing unit (CPU), a local memory device, and an input/output (I/O) interface device, wherein each of the DAS controllers is configured to perform a caching algorithm that causes data received in the respective DAS controller to be temporarily stored in a cache memory of the SSD array and subsequently stored in one or more of the HDDs of the array of HDDs, wherein the data has metadata associated therewith, and wherein the caching algorithms performed by the respective DAS controllers cause the data to be stored in blocks in the SSD array, each block including a data integrity field (DIF), and wherein the respective DAS controllers cause the metadata associated with the data received in the respective DAS controller to be stored in at least one of the DIFs associated with at least one of the blocks in which the associated data is stored in the SSD array. - View Dependent Claims (2, 3, 4)
-
-
5. A method for protecting the integrity of cached data in a direct-attached storage (DAS) system, the method comprising:
-
in a first DAS controller, receiving data, the first DAS controller including a central processing unit (CPU), a local memory device, and an input/output (I/O) interface device; in the first DAS controller, performing a caching algorithm that causes the data received in the first DAS controller to be temporarily stored in blocks in one or more solid state disks (SSDs) of an SSD array and subsequently stored in one or more magnetic hard disk drives (HDDs) of a HDD array, wherein the data has metadata associated therewith, and wherein each block of data temporarily stored by the first DAS controller in one or more SSDs of the SSD array includes a data integrity field (DIF), and wherein the first DAS controller causes the metadata associated with the data received in the first DAS controller to be stored in at least one of the DIFs associated with at least one of the blocks in which the associated data is stored in the SSD array; in a second DAS controller, receiving data, the second DAS controller including a CPU, a local memory device, and an I/O interface device; and in the second DAS controller, performing a caching algorithm that causes the data received in the second DAS controller to be temporarily stored in blocks in one or more SSDs of the SSD array and subsequently stored in one or more of the magnetic HDDs of the HDD array, wherein the data received in the second DAS controller has metadata associated therewith, and wherein each block of data temporarily stored by the second DAS controller in one or more SSDs of the SSD array includes a DIF, and wherein the second DAS controller causes the metadata associated with the data received in the second DAS controller to be stored in at least one of the DIFs associated with at least one of the blocks in which the associated data is stored in the SSD array. - View Dependent Claims (6, 7, 8)
-
-
9. A computer-readable medium having a computer program stored thereon for protecting the integrity of cached data in a direct-attached storage (DAS) system, the computer program comprising computer instructions stored on the computer-readable medium, the instructions comprising:
-
a first set of instructions for receiving data in a first DAS controller; and a second set of instructions for performing a caching algorithm in the first DAS controller that causes the data received in the first DAS controller to be temporarily stored in blocks in one or more solid state disks (SSDs) of an SSD array and subsequently stored in one or more magnetic hard disk drives (HDDs) of an array of HDDs, wherein each block includes a data integrity field (DIF), and wherein the data has metadata associated therewith, and wherein the caching algorithm causes the metadata associated with the data received in the DAS controller to be stored in at least one of the DIFs associated with at least one of the blocks in which the associated data is stored in the SSD array. - View Dependent Claims (10, 11, 12)
-
-
13. A direct-attached storage (DAS) system comprising:
-
an array of magnetic hard disk drives (HDDs); an array of solid state disks (SSDs); and at least first and second DAS controllers connected to the array of HDDs and to the SSD array, each DAS controller having a central processing unit (CPU), a local memory device, and an input/output (I/O) interface device, wherein each of the DAS controllers perform a caching algorithm that causes data received in the respective DAS controller to be temporarily stored in a cache memory of the SSD array and subsequently stored in one or more of the HDDs of the HDD array, wherein the respective DAS controllers are configured to perform a level of Redundant Array of Inexpensive (or Independent) Disks (RAID) technology with respect to the temporary storage of data in the SSD array such that cache coherency is provided for the data that is temporarily stored in the SSD array. - View Dependent Claims (14)
-
-
15. A method for protecting the integrity of cached data in a direct-attached storage (DAS) system, the method comprising:
-
in a first DAS controller, receiving data, the first DAS controller including a central processing unit (CPU), a local memory device, and an input/output (I/O) interface device; and in the first DAS controller, performing a caching algorithm that causes the data received in the first DAS controller to be temporarily stored in one or more solid state disks (SSDs) of an SSD array and subsequently stored in one or more magnetic hard disk drives (HDDs) of an HDD array, wherein the DAS controller is configured to perform a level of Redundant Array of Inexpensive (or Independent) Disks (RAID) technology with respect to the temporary storage of data in the SSD array such that cache coherency is provided for the data that is temporarily stored in the SSD array. - View Dependent Claims (16)
-
Specification