Patent classifications
G06F16/1847
SOLID-STATE STORAGE DEVICE WITH PROGRAMMABLE PHYSICAL STORAGE ACCESS
Embodiments of the present invention includes a method of operating a solid-state storage device, comprising a storage device controller in the storage device receiving a set of one or more rules, each rule comprising (i) one or more request conditions to be evaluated for a storage device action request received from a host computer, and (ii) one or more request actions to be performed on a physical address space of a non-volatile storage unit in the solid-state storage device in case the one or more request conditions are fulfilled; the method further comprises: the storage device receiving a storage device action request, and the storage device evaluating a first rule of the one or more rules by determining if the received request fulfills request conditions comprised in the first rule, and in the affirmative the storage device performing request actions comprised in the first rule. A corresponding solid-state storage device is also provided.
Automatic data separation and placement for compressed data in a storage device
A storage device is disclosed. The storage device may include storage for data. A host interface logic may receive a dataset and a logical address from a host. A stream assignment logic may assign a stream identifier (ID) to a compressed dataset based on a compression characteristic of the compressed dataset. The stream ID may be one of at least two stream IDs; the compressed dataset may be determined based on the dataset. A logical-to-physical translation layer may map the logical address to a physical address in the storage. A controller may store the compressed dataset at the physical address using the stream ID.
Electronic storage system
Methods and systems for electronic storage are provided. A storage system comprises a plurality of storage system front ends, a plurality of storage system back ends, and a plurality of solid state drive (SSD) agents. Each storage system front end resides on a server of a plurality of servers. Each server of the plurality of servers comprises one or more storage system back ends of the plurality of storage system back ends. Each storage system front end is able to receive I/O requests and relay information associated with the I/O requests to a relevant storage system back end. The relevant storage system back end communicates metadata associated with the I/O request to an SSD via an SSD agent.
Profile-dependent write placement of data into a non-volatile solid-state storage
A method for storing user data is provided. The method includes distributing the user data throughout a plurality of storage nodes through erasure coding, wherein the plurality of storage nodes are housed within a single chassis that couples the storage nodes as a cluster, each of the plurality of storage nodes having nonvolatile solid-state memory for user data storage. The method includes performing analytics on user data and grouping portions of the user data according to results of the analytics. The method includes writing the user data to blocks of flash memory in the non-volatile solid-state memory, wherein each block receives portions of the user data grouped according to at least one of the results of the analytics.
METHOD AND SYSTEM FOR STORING METADATA OF LOG-STRUCTURED FILE SYSTEM
A method, system and computer-readable recording medium for storing metadata of a log-structured file system. The method includes receiving a block management request signal including information about a block number and indicating whether it is an allocation request or a deallocation request for a block, calculating a segment number to which the block belongs with reference to the block number, obtaining a metadata segment usage (MSU) item corresponding to the segment number, wherein the metadata segment usage (MSU) item includes information about a segment number and a number of valid blocks, and increasing the number of valid blocks of the metadata segment usage (MSU) item by one when the block management request signal corresponds to the allocation request, and decreasing the number of valid blocks of the metadata segment usage (MSU) by one item when the block management request signal corresponds to the deallocation request.
INFORMATION PROCESSING DEVICE
A block processing section divides a file generated by an application into a plurality of data blocks and stored the data blocks in an auxiliary storage device. A metadata processing section stores, in the auxiliary storage device, first metadata including a hash value and information for identifying a storage location of each of the plurality of data blocks. When the file is updated, the block processing section stores an updated data block in another storage location. The metadata processing section stores, in the auxiliary storage device, second metadata including a hash value and information for identifying a storage location of each of a plurality of data blocks including the updated data block. A metadata switching section sets the second metadata to be used for file access.
Resiliency schemes for distributed storage systems
A plurality of computing devices are communicatively coupled to each other via a network, and each of the plurality of computing devices is operably coupled to one or more of a plurality of storage devices. A plurality of failure resilient stripes is distributed across the plurality of storage devices such that each of the plurality of failure resilient stripes spans a plurality of the storage devices. A graphics processing unit is operable to access data files from the failure resilient stripes, while bypassing a kernel page cache. Furthermore, these data files may be accessed in parallel by the graphics processing unit.
CLOUD DATA SHARING METHOD SUPPORTING NATIVE APPLICATIONS AND CONTAINERIZED APPLICATIONS AND STORAGE DEVICE USING SAME
A cloud data sharing method supporting native applications and containerized applications, including: using a user-space file system to mount at least one cloud storage server to a virtual file system; using a cloud agent module to register a push notification service with a cloud storage service module of each cloud storage server, so that when the content of a file stored in one cloud storage server is altered, the cloud agent module can receive a content-altered notification of the file and send the content-altered notification to a message broker module; and using the message broker module to accept a file-altered-notification subscription from at least one native application or at least one containerized application, so that when the message broker module receives the file-altered notification from the cloud agent module, the message broker module can publish a file-altered message to one native application or one containerized application.
APPLICATION LEVEL SD CARD SPACE MANAGEMENT
An apparatus includes a removable media interface circuit and a processor. The removable media interface may be configured to read and write files to a non-volatile storage medium. The processor may be configured to generate encoded data and manage file operations involving storing the encoded data on the non-volatile storage medium to minimize a number of file fragments.
System and method for storing and reading a database on flash memory or other degradable storage
A system and method stores a database file into Flash memory or other write-constrained storage. The system and method can decompress the data to use to process a request by only decompressing data it determines, via metadata, might correspond to a criteria in the request.