Distributed data cache with memory allocation model
AssigneeMicrosoft Corporation
InventorsAlexandre Bereznyi, Sanjeev Katariya
Life of this patent
Estimating the term…
Loading patent…
AssigneeMicrosoft Corporation
InventorsAlexandre Bereznyi, Sanjeev Katariya
Estimating the term…
A cache system allocates memory for storage of data items by defining a series of small blocks that are uniform in size. The system allocates one or more blocks from memory and assigns them for storage of a data item. If the data item exceeds the predetermined block size, more blocks are assigned for storage. If a residual portion of the data item less than the predetermined the block size remains, the operating system may allocate an additional small storage block to store the residual portion of the data item. The operating system allocates a large number of small blocks with a plurality of blocks having different sizes where a first plurality of blocks has one block size and a second plurality of blocks has a different block size. The large number of blocks allocated by the operating system avoid contention from multiple users requesting access to the data cache. The predetermined blocks are allocated by the data cache software itself and are not allocated by the operating system. In an exemplary embodiment, the blocks allocated by the data cache software need not be contiguous within the memory. Rather, each block contains a pointer to the start of the next block for a particular data item and the last block of the predetermined size blocks contains a pointer to the residual portion. A status list contains data indicating whether the particular blocks are free or used. When allocating blocks for storage of a data item, the system will use the status list to determine which blocks are free. The status list is updated to indicate the blocks have been allocated when a data item is stored within the cache. When a data item is removed from the cache, the status list is again updated to indicate that the availability of the blocks.
A memory allocation system for data caching comprising:
A computer-readable media containing computer instructions that cause a computer containing a computer software operating system capable of memory allocation to:
A method of allocating memory in a computer containing a computer software operating system capable of memory allocation, the method comprising:
A computer-readable medium having computer-executable instructions to perform a method of operating a computer, the computer having a memory, the computer further having an operating system that performs at least the function of allocating portions of the memory, the method comprising:
Dependencies are inferred from the claim text.