Patent application number | Description | Published |
20110106863 | USING A PER FILE ACTIVITY RATIO TO OPTIMALLY RELOCATE DATA BETWEEN VOLUMES - A method for identifying data for relocation in a multivolume file system. The method includes generating a file location map, the file location map containing a list of the locations of files that occupy space on each of a plurality of volumes of the file system, wherein The file system comprising least a first volume and a second volume. The method further includes updating the file location map in accordance with changes in a file change log for the file system, and identifying data residing on the first volume of the file system by scanning the file location map. Using the identified data, a ratio of per-file activity during a first time period relative to overall file system activity over a second time period is calculated to derive a file activity ratio for each of the files of the identified data. Files are then selected for relocation based on the file activity ratio. | 05-05-2011 |
20110225211 | METHOD AND SYSTEM FOR PROVIDING DEDUPLICATION INFORMATION TO APPLICATIONS - A method of maintaining and providing information relating to file deduplication. A first portion of a first file and a second portion of a second file that contain a first content are identified. A first header associated with the first portion is created. The first header identifies the first portion and the second portion containing the first content. The first header is appended to a storage location of the first content of the first portion to form a first data structure for the first file. The first data structure is stored. The first data structure is provided to an application requesting the first file so that duplicate data processing can be avoided by the application. The first data structure is updated when the first file or the second file are altered. A similar process may occur to generate a data structure for the second file. | 09-15-2011 |
20110307529 | AUTOMATICALLY RECLAIMING MEMORY SPACE - A method, in one embodiment, can include determining whether an administrative task for a file system is to be performed within a thin storage memory array. Furthermore, if the administrative task for the file system is to be performed, a determination is made as to whether memory space is freed up while performing the administrative task. If memory space is freed up while performing the administrative task, a determination is made as to whether the freed up memory space satisfies a predefined contiguous memory space threshold. If the predefined contiguous memory space threshold is satisfied by the freed up memory space, a determination is made as to whether a memory space reclamation process is to be performed. If the memory space reclamation process is to be performed, the freed up memory space is reclaimed from the file system. | 12-15-2011 |
20120041923 | METHOD AND SYSTEM FOR EFFICIENTLY READING A PARTITIONED DIRECTORY INCIDENT TO A SERIALIZED PROCESS - A method of reading data from a partitioned directory incident to a serialized process. A first read and an offset value are received. A first data block in a modeled fully partitioned directory is identified based on the offset value and a predetermined number of entries associated with a buffer. It is determined whether the first data block in the fully partitioned directory is present in the actual partitioned directory. Zeros are written in the buffer if the first data block in the fully partitioned directory is not present in the actual partitioned directory otherwise the first data block associated with the actual partitioned directory is written to the buffer. A second data block is similarly read by a second read operation and written. The second data block is associated with a second subdirectory, selected based on a horizontal node traversal at a node level of said first subdirectory. | 02-16-2012 |
20120042062 | METHOD AND SYSTEM FOR PARTITIONING DIRECTORIES - A method of partitioning directory. Accesses, e.g., shared/exclusive, and/or waiting requests, e.g., shared/exclusive, to access one or more files with a directory are monitored, e.g., incrementing/decrementing respective counters. The waiting requests are queued to be granted at a later time. The directory is determined to be primed for partitioning if a number of waiting requests to access the directory is greater than a threshold value of a plurality of heuristics and optionally further based on satisfying the condition for at least a programmable time threshold period. A trigger signal is automatically generated if the directory is primed for partitioning. The trigger signal causes a file system to partition the directory. It is appreciated that the plurality of heuristics is user programmable. | 02-16-2012 |
20120042063 | METHOD AND SYSTEM FOR LINK COUNT UPDATE AND SYNCHRONIZATION IN A PARTITIONED DIRECTORY - A method of updating a link count in a partitioned directory shared by a plurality of computers within a cluster. The partitioned directory is traversed once by a first computer to obtain a link count. The link count is stored in the first computer and broadcast to a cluster of computers. A total number of allocated links is less than a maximum limit on link count minus the link count. A respective number of links is allocated to each computer within the cluster. Delta values of each computer are updated in real-time as subdirectories are created/erased. A delta value associated with each of the plurality of computers is received. A delta value represents a net number of links created or removed by each computer. The link count is updated based on the previous link count and further based on each of the delta values and further based a delta value associated with the first computer. The updated link count is stored by the first computer and broadcast to the plurality of computers. | 02-16-2012 |
20120259823 | PARTITIONING A DIRECTORY WHILE ACCESSING THE DIRECTORY - A process for reading entries in a directory is initiated. A first index is maintained to indicate how far the read has progressed in the directory. If, during execution of the process, the directory is partitioned into subdirectories, then a second index is maintained for each of the subdirectories to indicate how far the read has progressed in each of the subdirectories. A third index that indicates how far the read has progressed in the partitioned directory is also maintained. | 10-11-2012 |
20130346724 | SEQUENTIAL BLOCK ALLOCATION IN A MEMORY - A region of memory is logically divided into a number of segments, each of which is logically divided into a number of blocks. Blocks are allocated sequentially. A head pointer and a tail pointer demarcate the section of allocated blocks. As allocated blocks are added, the tail pointer is moved so that it remains at the end of the section of allocated blocks. If the tail pointer is within a threshold distance of the head pointer, then the head pointer is moved from its current position to a new position, and the allocated blocks between the current and new positions are freed (deallocated and/or erased). Thus, writes to the memory can be performed sequentially, and blocks can be freed in advance of when they are actually needed. | 12-26-2013 |