Use of predefined block pointers to reduce duplicate storage of certain data in a storage subsystem of a storage server
Abstract
A method and system for eliminating the redundant allocation and deallocation of special data on disk, wherein the redundant allocation and deallocation of special data on disk is eliminated by providing an innovate technique for specially allocating special data of a storage system. Specially allocated data is data that is pre-allocated on disk and stored in memory of the storage system. “Special data” may include any pre-decided data, one or more portions of data that exceed a pre-defined sharing threshold, and/or one or more portions of data that have been identified by a user as special. For example, in some embodiments, a zero-filled data block is specially allocated by a storage system. As another example, in some embodiments, a data block whose contents correspond to a particular type document header is specially allocated.
Claims
exact text as granted — not AI-modifiedWe claim:
1 . A method comprising:
receiving a request to read a data set stored on a computer-readable storage medium of a server, the data set including a plurality of data blocks, each of the data blocks having a pointer identifying a location of the corresponding data block on a storage device of the server; and for each of the plurality of data blocks, determining if the pointer of the data block matches a pointer that is designated as identifying, on the storage device, a pre-allocated storage location for storage of a data block that contains data having a predetermined characteristic; in an event that the pointer is determined to match a designated pointer, retrieving the data block with the matching pointer from memory of the server without issuing a request to read the data block from the storage device.
2 . The method of claim 1 wherein the designated pointer is a pointer to a level one indirect block.
3 . The method of claim 1 wherein the designated pointer is a PVBN/VVBN pair.
4 . The method of claim 1 wherein the server includes a deduplication process, and wherein no data block stored on the storage device of the server and having a matching pointer is deduplicated.
5 . A server, comprising:
a storage device; a memory containing machine readable medium comprising machine executable code having stored thereon instructions for performing a method of reading specially allocated data; and a processor coupled to the memory, the processor configured to execute the machine executable code to: receive a request to read a data set stored on the machine readable storage medium of the server, the data set including a plurality of data blocks, each of the data blocks having a pointer identifying a location of the corresponding data block on the storage device of the server; and for each of the plurality of data blocks, determining if the pointer of the data block matches a pointer that is designated as identifying, on the storage device, a pre-allocated storage location for storage of a data block that contains data having a predetermined characteristic; in an event that the pointer is determined to match the designated pointer, retrieve the data block with the matching pointer from memory of the storage server without issuing a request to read the data block from the storage device.
6 . The server of claim 5 wherein the designated pointer is a pointer to a level one indirect block.
7 . The server of claim 5 wherein the designated pointer is a PVBN/VVBN pair.
8 . The storage server of claim 5 wherein the processor is further configured to execute the machine executable code to perform a deduplication process, and wherein no data block stored on the storage device of the server and having a matching pointer is deduplicated.
9 . The method of claim 1 , wherein the predetermined characteristic is of a header file.
10 . The method of claim 1 , wherein the predetermined characteristic is of a zero-filled block of data.
11 . The server of claim 5 , wherein the predetermined characteristic is of a header file.
12 . The server of claim 5 , wherein the predetermined characteristic is of a zero-filled block of data.Join the waitlist — get patent alerts
Track US2018011657A1 — get alerts on status changes and closely related new filings.
We store only your email — no account needed. See our privacy policy.