Patent ID: 11892983
Assignee: EMC IP HOLDING COMPANY LLC
Field: Computer technology (Electrical engineering)
Classification: CPC G | IPC G

Claim 0:
1. A method for processing requests, the method comprising:
receiving, from a client application node (CAN) and by a metadata node, a request for a data layout;
determining a QoS tag associated with the request;
identifying at least one file system block (FSB) in a sparse virtual space, wherein the FSB is mapped to a location in a storage pool that is associated with the QoS tag;
generating the data layout based on the at least one identified FSB; and
providing the data layout to the CAN, wherein the CAN uses the data layout to directly write data to the location in the storage pool,
wherein a redundant array of independent disks is implemented in the storage pool to protect the data,
wherein the metadata node does not participate in the writing of the data to the location in the storage pool to allow the request to be performed with low latency and without impacting a writing performance of the data, wherein the CAN calculates a fingerprint for the data,
wherein the CAN encrypts the data using an encryption key scheme to limit which encryption key is used to encrypt a first portion of the data and a second portion of the data, wherein a per-snapshot static encryption key (PSSEK) is used to encrypt the first portion and the second portion of the data, wherein the PSSEK is generated based on a state snapshot of the sparse virtual space,
wherein the CAN calculates, using a cyclic redundancy check (CRC), a (CRC) value for the data, wherein the CAN provides the fingerprint and the CRC value to the metadata node, wherein the metadata node commits the FSB by storing the CRC value, wherein, based on a presence of the fingerprint in a self-balancing tree data structure, the metadata node determines that the data is deduplicable,
wherein, based on determining the data is deduplicable, the metadata node updates a mapping between a [file, offset] and a [scale out volume, offset] to reflect that the data is deduplicated and to make sure that logical blocks that are associated with the data are mapped to the same FSB,
wherein the logical blocks are specified in the data layout,
wherein, using the data layout, the CAN translates the [file, offset] into the [scale out volume, offset],

wherein, based on the updating, the metadata node marks the data for a garbage collection.