Hybrid NVRAM logging in filesystem namespace
First Claim
1. A non-transitory storage medium having stored therein instructions that are executable by one or more hardware processors to perform operations comprising:
- determining an amount of non-volatile random access memory (NVRAM) needed for a set of one or more write requests, and allocating the amount of NVRAM to the set of one or more write requests;
receiving a write request;
performing a first type of logging process in connection with the write request, and creating a corresponding first logging record;
performing a second type of logging process in connection with the write request, and creating a corresponding second logging record, wherein the second type of logging process is different from the first type of logging process;
determining, as between the two logging records, which of the logging records requires the least amount of non-volatile random access memory (NVRAM); and
writing, to NVRAM, the logging record that requires the least amount of NVRAM.
9 Assignments
0 Petitions
Accused Products
Abstract
In one example, a method for writing data includes receiving a write request and performing a first type of logging process in connection with the write request, and creating a corresponding first logging record. Additionally, a second type of logging process is performed in connection with the write request, and a corresponding second logging record created, where the second type of logging process is different from the first type of logging process. Next, a determination is made, as between the two logging records, which of the logging records requires the least amount of non-volatile random access memory (NVRAM), and the logging record that requires the least amount of NVRAM is written to the NVRAM.
27 Citations
14 Claims
-
1. A non-transitory storage medium having stored therein instructions that are executable by one or more hardware processors to perform operations comprising:
-
determining an amount of non-volatile random access memory (NVRAM) needed for a set of one or more write requests, and allocating the amount of NVRAM to the set of one or more write requests; receiving a write request; performing a first type of logging process in connection with the write request, and creating a corresponding first logging record; performing a second type of logging process in connection with the write request, and creating a corresponding second logging record, wherein the second type of logging process is different from the first type of logging process; determining, as between the two logging records, which of the logging records requires the least amount of non-volatile random access memory (NVRAM); and writing, to NVRAM, the logging record that requires the least amount of NVRAM. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. A non-transitory storage medium having stored therein instructions that are executable by one or more hardware processors to perform operations comprising:
-
determining an amount of non-volatile random access memory (NVRAM) needed for a set of one or more write requests, and allocating the amount of NVRAM to the set of one or more write requests; writing data by performing the following; receiving a write request; performing a first type of logging process in connection with the write request, and creating a corresponding first logging record; performing a second type of logging process in connection with the write request, and creating a corresponding second logging record, wherein the second type of logging process is different from the first type of logging process; determining, as between the two logging records, which of the logging records requires the least amount of non-volatile random access memory (NVRAM); and creating a stored logging record by writing, to NVRAM, the logging record that requires the least amount of NVRAM; and reading data by performing the following; receiving a read request; accessing, in response to the read request, the stored logging record; and recovering data associated with the stored logging record. - View Dependent Claims (12, 13, 14)
-
Specification