Patent ID: 8738621

Claim:
A data storage system, comprising: a common data storage device comprising a first data storage region with an associated storage capacity and a second data storage region, wherein the first data storage region of the common data storage device is configured to store files associated with at least a public namespace and a private namespace that is separate from the public namespace, the public namespace having a first allocation of the storage capacity within the first data storage region and the private namespace having a second allocation of the storage capacity within the same first data storage region of the common data storage device as the first allocation of storage capacity so that both the public namespace and the private namespace represent different regions of the same common data storage device, and wherein files associated with the public namespace are separately addressable from files stored in the private namespace; wherein the second data storage region of the common data storage device is configured to store metadata regarding each of the files associated with the public and private namespaces, the metadata identifying, for each of the files, the namespace that the file is associated with, and a block of the first data storage region that is associated with the particular file; and a controller communicatively coupled to the first data storage region and the second data storage region, the controller configured to: receive a first request to store a first file associated with the public namespace in the first data storage region; identify at least one free block of the first data storage region based on the metadata, the free block previously storing a second file associated with the private namespace; store the first file at the free block; modify the ratio of the relative sizes of the first allocation and the second allocation based on a size of the free block to thereby dynamically allocate the associated storage capacity of the first data storage region of the common data storage device between files associated with the public namespace and files associated with the private namespace; and modify the metadata to associate the free block with the first file and the private namespace.