US2013205114A1PendingUtilityA1

Object-based memory storage

Assignee: FUSION IOPriority: Dec 6, 2006Filed: Mar 15, 2013Published: Aug 8, 2013
Est. expiryDec 6, 2026(~0.4 yrs left)· nominal 20-yr term from priority
H04L 67/1097G06F 12/1081G06F 13/28G06F 12/0246G06F 3/0679G06F 12/1027G06F 3/0613H05K 7/1444G06F 2211/1014G06F 3/0661G06F 11/1076G06F 9/52G06F 2212/7201G06F 3/0674G06F 2212/7202
50
PatentIndex Score
0
Cited by
0
References
0
Claims

Abstract

The method includes receiving an object operation from an application at a hardware device manager. The object operation includes an object identifier. The method includes performing the object operation directly on a storage device. A physical address for the object corresponding to the object identifier is mapped directly to the object identifier in an index managed by the hardware device manager.

Claims

exact text as granted — not AI-modified
What is claimed is: 
     
         1 . A method, comprising:
 receiving an object operation from an application at a hardware storage device manager, wherein the object operation comprises an object identifier; and   performing the object operation directly on a storage device, wherein a physical address for the object corresponding to the object identifier is mapped directly to the object identifier in an index managed by the hardware storage device manager.   
     
     
         2 . The method of  claim 1 , wherein the physical address is mapped directly to the object identifier in an absence of a block-based translation layer for the storage device. 
     
     
         3 . The method of  claim 1 , wherein the object operation is a write operation comprising:
 writing object data to the storage device at a new physical address; and   mapping an address for the object identifier in the index to the new physical address.   
     
     
         4 . The method of  claim 1 , wherein the object operation is a read operation comprising identifying, via the index, the physical address corresponding to the object stored on the storage device. 
     
     
         5 . The method of  claim 1 , wherein the object operation is a delete operation comprising:
 invalidating data corresponding to a deleted object on the storage device; and   removing, from the index, the object identifier corresponding to the deleted object.   
     
     
         6 . The method of  claim 1 , wherein the storage device stores data in a log structure, wherein the physical address corresponds to an append point of the log structure. 
     
     
         7 . The method of  claim 1 , wherein the index comprises a table configured to track a location and a size of object data on the storage device, wherein the object data corresponds to the object identifier. 
     
     
         8 . The method of  claim 1 , wherein the physical address comprises an arbitrary granularity associated with the object corresponding to the object identifier. 
     
     
         9 . The method of  claim 1 , further comprising performing garbage collection according to a log structure of the storage device by:
 reading data from a group of physical addresses on the storage device, wherein the data corresponds to live objects comprising valid data stored on the storage device;   grouping the data for the live objects together; and   writing the grouped data back to the storage device.   
     
     
         10 . The method of  claim 1 , further comprising performing garbage collection by remapping data stored at a first physical address on the storage device to a second physical address on the storage device. 
     
     
         11 . The method of  claim 10 , wherein the storage device is configured to create objects, destroy objects, read objects, and write objects on the storage device. 
     
     
         12 . The method of  claim 1 , wherein the object identifier comprises a virtual storage address. 
     
     
         13 . A non-volatile memory device, comprising:
 a plurality of memory elements configured to store data, wherein the memory elements comprise corresponding physical addresses;   a hardware device manager configured to:
 receive an object operation comprising an identifier corresponding to an object stored on the non-volatile memory device; and 
 performing the object operation directly on the non-volatile memory device by:
 writing object data to one or more physical addresses on the non-volatile memory device; and 
 mapping, in an index, an address for the identifier corresponding to the object directly to the one or more physical addresses on the non-volatile memory device. 
 
   
     
     
         14 . The device of  claim 13 , wherein the one or more physical addresses correlate directly to the identifier in an absence of a block-based translation layer for the non-volatile memory device. 
     
     
         15 . The device of  claim 13 , wherein the index comprises a table configured to track a location and a size of object data on the non-volatile memory device, wherein the object data corresponds to the identifier. 
     
     
         16 . The device of  claim 13 , wherein the one or more physical addresses comprise an arbitrary granularity associated with the object. 
     
     
         17 . The device of  claim 13 , wherein the hardware device manager is further configured to perform garbage collection according to a log structure of the non-volatile memory device by:
 reading data from a group of physical addresses on the non-volatile memory device, wherein the data corresponds to live objects comprising valid data stored on the non-volatile memory device;   compacting the data for the live objects together; and   writing the compacted data back to the non-volatile memory device.   
     
     
         18 . The device of  claim 13 , wherein the hardware device manager is further configured to perform garbage collection by remapping data stored at a first physical address on the non-volatile memory device to a second physical address on the non-volatile memory device. 
     
     
         19 . The device of  claim 13 , wherein the hardware device manager is further configured to provide native support for object storage, wherein the hardware device manager is configured to create objects, destroy objects, read objects, and write objects stored on the non-volatile memory device. 
     
     
         20 . The device of  claim 19 , wherein the object operation for object data stored at a location on the non-volatile memory device comprises a place holder argument for a pointer to at least one physical address of the location, wherein the pointer is output based on a size of the object data. 
     
     
         21 . A system, comprising:
 a driver interface configured to communicate with a recording device interface of a non-volatile recording device, wherein the driver interface is configured to:
 submit an object operation associated with an application, wherein the object operation is associated with an object identifier;
 performing a read operation directly on the non-volatile recording device by identifying an address for the object identifier from an index, wherein the address is mapped directly to one or more physical addresses on the non-volatile recording device, wherein the one or more physical addresses correspond to object data for the object identifier. 
 
   
     
     
         22 . The system of  claim 21 , wherein the one or more physical addresses are mapped directly to the object identifier in an absence of a block-based translation layer for the storage device. 
     
     
         23 . The system of  claim 21 , wherein the index comprises a table configured to store a size and the one or more physical addresses of the object data on the storage device.

Join the waitlist — get patent alerts

Track US2013205114A1 — get alerts on status changes and closely related new filings.

We store only your email — no account needed. See our privacy policy.