US 11,886,751 B2
Intelligent block slicing in network attached storage for data protection
Adam Brenner, Mission Viejo, CA (US); and Upanshu Singhal, Bangalore (IN)
Assigned to EMC IP Holding Company LLC, Hopkinton, MA (US)
Filed by EMC IP Holding Company LLC, Hopkinton, MA (US)
Filed on Oct. 30, 2020, as Appl. No. 17/084,883.
Application 17/084,883 is a continuation in part of application No. 17/070,918, filed on Oct. 15, 2020, granted, now 11,663,086.
Prior Publication US 2022/0121528 A1, Apr. 21, 2022
Int. Cl. G06F 3/06 (2006.01)
CPC G06F 3/067 (2013.01) [G06F 3/0604 (2013.01); G06F 3/064 (2013.01); G06F 3/0623 (2013.01); G06F 3/0656 (2013.01)] 14 Claims
OG exemplary drawing
 
1. A computer-implemented method of storing array snapshots of a block device in networked storage and a file system in networked attached storage (NAS) device, comprising:
determining an organization of the file system comprising directories and files in a defined hierarchy;
determining a size of each file and a number of files in each directory;
first slicing the file system into a number of file slices according to a combined slicing method comprising file size-based slicing for large file systems, and file count-based slicing for dense file systems with each file slice comprising file slice data, wherein the large file systems are used in metropolitan-area network (MAN) scale networks, and the dense file systems comprise millions of files;
determining a size of the block device accessed either directly or as a read-only copy;
second slicing the block device into a number of block slices based on the size of the block device, with each block slice comprising block slice data;
writing both the file slice data and block slice data to protection storage;
deploying backup agents to back up the slice data for each slice of the block device and file system to a network attached storage (NAS) device, wherein the backup agents are installed on an as-needed basis on one or more proxy hosts automatically with proxy host deployment, wherein each proxy of the proxy hosts acts as an execution place embodied in a Virtual Machine (VM) for requests sent by the client to access resources of the networked storage;
storing a corresponding slice number for each of the file slice data and block slice data in a key/value map by a backup agent, where the key comprises the slice number, and the value comprises the protection storage location of the corresponding file or block slice, and wherein the corresponding slice number is stored in temporary storage and separately from the slice data to prevent modification of the slice data;
reading, by the backup agent, each file and block slice for storage in protection memory and creation of the key/value map by the backup agent; and
storing the backed up slices as array snapshots in the NAS device.