Managing I/O operations of large data objects in a cache memory device by dividing into chunks
First Claim
1. A non-volatile memory system, comprising:
- a first non-volatile cache memory device including a storage threshold; and
a storage controller coupled to the first non-volatile cache memory device, the storage controller including one or more processing devices for executing instructions in one or more applications configured to cause the storage controller to perform operations comprising;
receiving an input/output (I/O) request for a data object;
determining the data object to be a non-conforming data object relative to the storage threshold of the first non-volatile cache memory device;
dividing the non-conforming data object into a plurality of data chunks, each of the data chunks having a size that is less than the storage threshold;
assigning a thread configured to execute on the storage controller exclusive access to the non-conforming data object, wherein the thread is configured to service I/O operations received from one or more clients for the plurality of data chunks;
periodically moving one or more data chunks to a long-term memory device at a predetermined time interval to free up one or more memory spaces of the first non-volatile cache memory device;
storing one or more data chunks of the non-conforming data object in the freed-up one or more memory spaces of the first non-volatile cache memory device; and
performing, using the thread assigned exclusive access to the non-conforming data object, I/O operations for the one or more data chunks of the non-conforming data object in the first non-volatile cache memory device.
7 Assignments
0 Petitions
Accused Products
Abstract
Various aspects for managing input/output (I/O) operations for data objects (e.g., large data objects (LOBs)), in a storage system are provided. For instance, a method may include receiving an I/O request for executing an I/O operation on a data object, determining the size of the data object, and determining the data object to be a non-conforming data object relative to a storage threshold of a cache memory device. The method may further include dividing the non-conforming data object into multiple data chunks, each of the data chunks having a size that is less than the storage threshold, moving one or more data chunks stored in one or more memory spaces of the cache memory device to a long-term memory device to free up the one or more memory spaces, and storing one or more of the data chunks of the non-conforming data object in the freed-up memory space(s).
-
Citations
20 Claims
-
1. A non-volatile memory system, comprising:
-
a first non-volatile cache memory device including a storage threshold; and a storage controller coupled to the first non-volatile cache memory device, the storage controller including one or more processing devices for executing instructions in one or more applications configured to cause the storage controller to perform operations comprising; receiving an input/output (I/O) request for a data object; determining the data object to be a non-conforming data object relative to the storage threshold of the first non-volatile cache memory device; dividing the non-conforming data object into a plurality of data chunks, each of the data chunks having a size that is less than the storage threshold; assigning a thread configured to execute on the storage controller exclusive access to the non-conforming data object, wherein the thread is configured to service I/O operations received from one or more clients for the plurality of data chunks; periodically moving one or more data chunks to a long-term memory device at a predetermined time interval to free up one or more memory spaces of the first non-volatile cache memory device; storing one or more data chunks of the non-conforming data object in the freed-up one or more memory spaces of the first non-volatile cache memory device; and performing, using the thread assigned exclusive access to the non-conforming data object, I/O operations for the one or more data chunks of the non-conforming data object in the first non-volatile cache memory device. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. A system, comprising:
-
a non-volatile cache memory device including a buffer size; means for receiving an input/output (I/O) request for a data object; means for determining the data object to be a non-conforming data object relative to the buffer size of the non-volatile cache memory device; means for dividing the non-conforming data object into a plurality of data chunks, each of the data chunks having a size that is less than the buffer size; means for assigning a thread configured to execute on the means for determining exclusive access to the non-conforming data object, wherein the thread is configured to service I/O operations received from one or more clients for the plurality of data chunks; means for periodically moving one or more data chunks stored in one or more memory spaces of the non-volatile cache memory device to a long-term memory device at a predetermined time interval to free up one or more memory spaces of the non-volatile cache memory device; means for storing one or more data chunks of the non-conforming data object in the freed-up one or more memory spaces of the non-volatile cache memory device; and means for performing, using the thread assigned exclusive access to the non-conforming data object, I/O operations for the one or more data chunks of the non-conforming data object in the non-volatile cache memory device. - View Dependent Claims (12, 13, 14, 15)
-
-
16. A method of operation in a non-volatile memory system including a set of non-volatile memory devices, the method comprising:
-
receiving, at a storage controller coupled to a non-volatile cache memory device including a storage threshold, an input/output (I/O) request for executing an I/O operation on a data object; determining the data object to be a non-conforming data object relative to the storage threshold of the non-volatile cache memory device; dividing the non-conforming data object into a plurality of data chunks, each of the data chunks having a size that is less than the storage threshold; assigning a thread configured to execute on the storage controller exclusive access to the non-conforming data object, wherein the thread is configured to service I/O operations received from one or more clients for the plurality of data chunks; periodically moving one or more data chunks stored in one or more memory spaces of the non-volatile cache memory device to a long-term memory device at a predetermined time interval to free up one or more memory spaces of the non-volatile cache memory device; storing one or more data chunks of the non-conforming data object in the freed-up one or more memory spaces of the non-volatile cache memory device; and performing, using the thread assigned exclusive access to the non-conforming data object, I/O operations for the one or more data chunks of the non-conforming data object in the non-volatile cache memory device. - View Dependent Claims (17, 18, 19, 20)
-
Specification