CN107077300A - For balancing segmentation removing and the rate-matched technology of I/O workloads - Google Patents

For balancing segmentation removing and the rate-matched technology of I/O workloads Download PDF

Info

Publication number
CN107077300A
CN107077300A CN201580049232.9A CN201580049232A CN107077300A CN 107077300 A CN107077300 A CN 107077300A CN 201580049232 A CN201580049232 A CN 201580049232A CN 107077300 A CN107077300 A CN 107077300A
Authority
CN
China
Prior art keywords
segmentation
ssd
queue
panel
write
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN201580049232.9A
Other languages
Chinese (zh)
Inventor
D·帕特尔
M·斯瓦米纳坦
E·D·麦克拉纳汉
J·穆斯
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NetApp Inc
Original Assignee
NetApp Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NetApp Inc filed Critical NetApp Inc
Publication of CN107077300A publication Critical patent/CN107077300A/en
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0614Improving the reliability of storage systems
    • G06F3/0619Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • G06F12/0253Garbage collection, i.e. reclamation of unreferenced memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • G06F12/0238Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
    • G06F12/0246Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0608Saving storage space on storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • G06F3/064Management of blocks
    • G06F3/0641De-duplication techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0656Data buffering arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0683Plurality of storage devices
    • G06F3/0688Non-volatile semiconductor memory arrays
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1016Performance improvement
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1016Performance improvement
    • G06F2212/1024Latency reduction
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1041Resource optimization
    • G06F2212/1044Space efficiency improvement
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/70Details relating to dynamic memory management
    • G06F2212/702Conservative garbage collection
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/72Details relating to flash memory management
    • G06F2212/7201Logical to physical mapping or translation of blocks or pages
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/72Details relating to flash memory management
    • G06F2212/7205Cleaning, compaction, garbage collection, erase control
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance

Abstract

A kind of rate-matched technology can be configured as adjusting the variable bit rate of incoming workload of the clearance rate of one or more selected segmentations of storage array to adapt to storage input/output (I/O) stack processing by being performed on one or more nodes of cluster.Segmentation can be removed according to the exemplary segmentation removing that can be embodied as being segmented reset procedure by storing the panel accumulation layer of I/O stacks.Rate-matched technology may be implemented as the feedback control mechanism for being configured as adjusting segmentation reset procedure based on incoming workload.The part of feedback control mechanism can include one or more weighting schedulers and various count data structures (for example, counter), and it is configured as the progress that tracking segmentation is removed and free space is used.Counter can be also used for balance segmentation removing and the speed of incoming I/O workloads, and it can depend on incoming I/O speed and change.When incoming I/O speed changes, the speed that segmentation is removed can be correspondingly adjusted to ensure that speed substantial equilibrium.

Description

For balancing segmentation removing and the rate-matched technology of I/O workloads
Technical field
This disclosure relates to storage system, and relate more specifically to the removing of the efficient segmentation in storage system.
Background technology
Storage system generally includes that the one or more of information can be obtained to its typing information and from it as needed Storage device, is such as presented as the solid-state drive (SSD) of the flash memory of storage array.Storage system can realize height Information in storage device of the hierarchy module (such as file system) logically will be stored in array is organized as storage container, Such as file or logic unit (LUN).Storage system cluster can be configured as the client/server mould delivered according to information Type is operated, and thus allows one or more clients (main frame) for example to access storage container via I/O requests.Each deposit Storage container may be implemented as one group of data structure, such as data block for storage container data storage and description storage container In data meta data block.For example, metadata can describe (for example, mark) storage location of data in equipment.
Certain form of SSD (especially those SSD with NAND Flash part) may or may not include Internal controller (that is, for SSD user's inaccessible), the internal controller is with page-granular (for example, 8Kbyte) Valid data are moved to new position between those parts from old position, the page previously wiped then only is moved to.This Afterwards, the stored old position of the page is released and available for storage additional data (for example, asking to receive via I/O).Will The write-in that valid data are moved to new position (that is, refuse collection) from old position and contributed in system is amplified.Although needing The available position on the SSD of storage array (that is, memory space) is provided to write additional data, but this refuse collection should It is performed in order to keep the smooth delay (that is, the bounded delay for keeping I/O requests) of perspective.Therefore, it is desirable to prolong in bounded Inherence storage system continues service data (that is, handle I/O request) late, while ensuring to have enough memory space and bandwidth to be used for Refuse collection and to storage array clear position write data.
The content of the invention
Each embodiment described herein is related to rate-matched technology, and the rate-matched technology is configured as adjusting storage array One or more selected parts or the clearance rate of segmentation, to adapt to the storage by being performed on one or more nodes of cluster The variable bit rate of the incoming workload of input/output (I/O) stack processing.Incoming workload can show as being directed to number of users According to (for example, from main frame coupled to cluster) and associated metadata (for example, volume layer and panel from storage I/O stacks are deposited Reservoir) I/O operation (for example, read operation and write operation).Panel accumulation layer is in the solid-state driving (SSD) of storage array The sequential storage of user data and metadata is provided.User data (and metadata) can be organized as by one of node serve Or the variable panel of any number of length of the visible logic unit of multiple main frames (LUN).Metadata can include the main frame from LUN It can be seen that range of logical block addresses (that is, deviation range) arrives the mapping of panel key assignments, and panel key assignments is stored to panel on SSD Position mapping.Panel accumulation layer can remove (that is, refuse collection) according to segmentation and remove segmentation, and the segmentation is removed exemplary Ground can be embodied as being segmented reset procedure.The segmentation reset procedure can read all from one or more segmentations to be cleaned Effective panel, and those effective panels (for example, the panel for not being deleted or making carbon copies) are write to can be written into one or many Other individual segmentations, thus discharge the memory space for the segmentation that (that is, " removing ") is just being eliminated.
In one embodiment, rate-matched technology may be implemented as feedback control mechanism (for example, feedback control is returned Road), the feedback control mechanism is configured as adjusting segmentation reset procedure based on incoming reading and write-in workload.Feedback control The part of making mechanism can include one or more weighting schedulers and various count data structures (for example, counter), the meter Number device be configured as tracking (it is determined that) segmentation removes and the progress (for example, speed) that uses of free space.The counter can be with It is used for the speed of balance segmentation removing and incoming I/O workloads, the incoming I/O workloads can depend on incoming I/O The pattern (reduce remove) made carbon copies in speed and incoming I/O workloads and change.When incoming I/O speed changes, segmentation is clear The speed removed can be accordingly adjusted to ensure that speed (that is, incoming I/O speed and segmentation clearance rate) is substantially the same (that is, balancing).Write in this manner, segmentation removes only to be performed and reduce when needing (that is, being incoming I/O Free up Memories) Enter amplification.
The I/O operation (for example, read operation and write operation) stored in I/O stacks can be according to user, metadata and again Positioning (segmentation remover) I/O operation is classified.Read operation provides service and from the reading of panel accumulation layer according to SSD Process is directly distributed to store the RAID layers of I/O stacks.Write operation is cumulatively added in the write-in process of panel accumulation layer, wherein It is distributed to before RAID layers, associated panel can be packaged to form full band.Weighting scheduler can be deposited in panel Reservoir is used to adjust read operation and full stripe write operation at RAID layers.Exemplarily, write-in weighting scheduler is being write All SSD for entering process for segmentation are provided, and are read weighting scheduler and provided in the process of reading for each SSD of segmentation, so as to Control the bandwidth distribution between the various classification of I/O operation.
In one embodiment, each weighting scheduler can include multiple queues, wherein each queue and I/O operation Classification (for example, user, metadata and reorientation) is associated.In other words, queue can include (i) for incoming user data work Make the data queue loaded, (ii) is directed to the metadata queue of incoming volume and panel accumulation layer metadata workload, and (iii) the reorientation queue of data and metadata reorientation during being removed for segmentation.According to rate-matched technology, weighting scheduling Device can be configured as applying fine granularity control (secondary control loop) to the speed that segmentation is removed with by assigning phase to queue Close weighting to match the speed of incoming I/O workloads, therefore ensure that segmentation removing will not be introduced and produced due to too fast operation Unnecessary write-in amplification, and do not interfere with and may increase related to I/O workloads due to too fast or too slow operation The performance for the delay that the main frame of connection is perceived.
Brief description of the drawings
By reference to the description made below in conjunction with the accompanying drawings, the above-mentioned advantage in embodiment hereof may be better understood With other advantages, in the drawings, identical reference represents identical or functionally similar element, in the accompanying drawings:
Fig. 1 is the block diagram for the multiple nodes for being connected to cluster;
Fig. 2 is the block diagram of node;
Fig. 3 is the block diagram of storage input/output (I/O) stack of node;
Fig. 4 shows the write paths of input/output (I/O) stack;
Fig. 5 shows the read path of input/output (I/O) stack;
Fig. 6 shows that the segmentation of the hierarchical file system by storing I/O stacks is removed;
Fig. 7 shows the RAID stripe performed by hierarchical file system;
Fig. 8 A and Fig. 8 B respectively illustrate the reading and write-in weighting scheduling of rate-matched technology;And
Fig. 9 shows rate-matched technology.
Embodiment
Storage cluster
Fig. 1 is the block diagram of multiple nodes 200, and these nodes are connected to cluster 100 and are configured to provide with depositing Store up the related storage service of the tissue of information in equipment.Node 200 can be connected with each other by cluster interconnection structure 110, and Including multiple functional parts, these functional parts cooperate with providing the distributed storage architecture of cluster 100, the distributed storage frame Structure can be deployed in storage area network (SAN).As described herein, each part of each node 200 includes hardware And software function, the hardware and software feature enables the node to be connected to one or more masters by computer network 130 Machine 120 and one or more storage arrays 150 that storage device is connected to by storing interconnection 140, so that according to distribution Storage architecture provides storage service.
Each main frame 120 can be embodied as all-purpose computer, and the all-purpose computer is configured to what is delivered according to information Client/server model is interacted with arbitrary node 200.That is, client (main frame) can be with the service of requesting node, and node The result for the service that main frame is asked can be returned by way of exchanging packet via network 130.When in main frame accessed node Form be storage container (such as file and catalogue) information when, the main frame can be sent including the access protocol based on file The packet of (such as, NFS (NFS) agreement in transmission control protocol/Internet protocol (TCP/IP)).However, In a kind of embodiment, when the access stencil of main frame 120 is the information of storage container (such as logic unit (LUN)), the main frame 120 Exemplarily send including block-based access protocol (small computer system interface (SCSI) association such as, encapsulated on TCP View (iSCSI) and the SCSI that is encapsulated on FC) packet.Note, arbitrary node 200 can be by for being stored in cluster 100 Storage container request provide service.
Fig. 2 is the block diagram of node 200, and the node 200 is exemplarily presented as storage system, and the storage system has warp One or more CPU (CPU) 210 of memory 220 are coupled to by storage bus 215.CPU 210 is also via being System interconnection 270 is coupled to network adapter 230, storage control 240, cluster interconnection interface 250 and based non-volatile random access Memory (NVRAM 280).Network adapter 230 can include being adapted to couple node 200 by computer network 130 To one or more ports of main frame 120, computer network 130 can include point-to-point link, wide area network, pass through public network The VPN that (internet) or LAN are realized.Therefore, network adapter 230 includes needing to connect nodes to network 130 mechanical, electric and signaling circuit, the network 130 exemplarily embodies Ethernet or optical-fibre channel (FC) network.
Memory 220 can include the addressable memory locations of CPU 210, and the memory location is used to store software journey Sequence and the data structure associated with embodiment described herein.CPU 210 can then include treatment element and/or logic Circuit, the treatment element and/or logic circuit are configured to perform software program (such as, storage input/output (I/O) stack And peration data structure 300).Exemplarily, storage input/output (I/O) stack 300 may be implemented as one group of user model Process, the user mode process can be broken down into multiple threads.Operating system nucleus 224 is functionally especially by calling The operation that the storage service realized by node (especially memory I/O stacks 300) is supported comes organization node, operating system nucleus 224 part usually remains in memory 220 (kernel) and performed by treatment element (that is, CPU 210).Suitable operation System kernel 224 can include the general-purpose operating system (such as, operating systemSeries or MicrosoftSeries), or the operating system (such as, micro-kernel and embedded mmdb) with configurable functionality.However, In a kind of embodiment herein, operating system nucleus is illustrativelyOperating system.Those skilled in the art It should be appreciated that other processing and storage arrangement including various computer-readable mediums can be used for storing and perform and this The relevant programmed instruction of literary embodiment.
Each storage control 240 cooperates with the storage I/O stacks 300 performed on node 200 is asked with obtaining main frame 120 Information.The information is preferably stored in storage device (such as, solid magnetic disc (SSD) 260), and the SSD is by exemplarily It is presented as the flash memory device of storage array 150.In one embodiment, although skilled artisan understands that other are non-easily The property lost, solid state electronic devices (for example, driver of the memory assembly based on storage class) can be advantageously combined and be retouched herein The embodiment stated is used, but flash memory device can also be the flash memory component based on NAND (for example, single layer cell (SLC) Flash memory, multilevel-cell (MLC) flash memory or three-layer unit (TLC) flash memory).Therefore, storage device can be or can not be towards (that is, being conducted interviews as block) of block.Storage control 240 includes one or more ports with I/O interface circuits, the I/ O Interface circuit is coupled to SSD 260 by storing interconnection 140, and storage interconnection 140 is exemplarily presented as Serial Attached SCSI (SAS) (SAS) topological structure.It is alternatively possible to which using other point-to-point I/O interconnection means, such as, conventional serial ATA (SATA) is opened up Flutter structure or PCI topological structures.(such as, node 200 can also be coupled to local service storage device 248 by system interconnection 270 SSD), local service storage device 248 is configured to the related configuration information of cluster being locally stored as such as cluster database (DB) 244, cluster database (DB) 244 can be copied to other nodes 200 in cluster 100.
Cluster interconnection interface 250 can include one or more ports, and these ports are adapted to node 200 being coupled to Other nodes of cluster 100.In one embodiment, Ethernet can be used as cluster protocol and interconnection structure medium, but It is it will be appreciated by those skilled in the art that other kinds of agreement can be used in embodiment described herein and interconnected (all Such as, wireless bandwidth).NVRAM 280 can include the standby electricity that data can be safeguarded according to the failure and cluster environment of node Pond or other built-in final state holding capacities (for example, nonvolatile semiconductor memory, such as, stores class memory). Exemplarily, a part of of NVRAM 280 can be configured as one or more non-volatile daily records (NVLog 285), these Non-volatile daily record is configured to provisionally to record (" charging to (log) ") I/O and is received from the request of main frame 120 (such as write-in please Ask).
Store I/O stacks
Fig. 3 is the block diagram for storing I/O stacks 300, and storage I/O stacks 300 can be advantageously combined one described herein Or more embodiment use.Storing I/O stacks 300 includes multiple software modules or layer, these software modules or layer and node 200 Other functional units cooperate with providing the distributed storage architecture of cluster 100.In one embodiment, distributed storage architecture Represent the abstract of single storage container, i.e. the storage array 150 of the node 200 of all about whole cluster 100 is organized as One big storage pool.In other words, the framework is integrated (consolidate) whole cluster and (can retrieved by cluster-wide key assignments ) storage (that is, the SSD 260 of array 150) to realize LUN storage.Then, can be by the way that node 200 be added into group Collect 100 to scale (scale) memory capacity and performance.
Exemplarily, storage I/O stacks 300 are deposited including management level 310, protocol layer 320, persistent layer 330, volume layer 340, panel Reservoir 350, RAID (RAID) layer 360, accumulation layer 365, and interconnected with messaging kernel 370 NVRAM (is used to store NVLog) layer.The information receiving and transmitting kernel 370 can provide the scheduling mould based on message (or based on event) Type (for example, asynchronous schedule), the scheduling model based on message (or based on event) is exchanged using message as between above-mentioned layer The basic working cell of (that is, transmitting).Information receiving and transmitting kernel comes in storage I/O there is provided some suitable message passing mechanisms Information is transmitted between the above-mentioned layer of stack 300, these message passing mechanisms can include:For example, for intra-node communication:I) it is online The messaging performed on Cheng Chi;Ii) message performed in single thread carried out is operated to pass by storing I/O stacks as a kind of Send;Iii) using the messaging of interprocess communication (IRC) mechanism, and for example, for inter-node communication:Transmitted according to function Implementation uses the messaging of remote procedure call (PRC) mechanism.Alternatively, I/O stacks can be used based on thread or base Realized in the execution model of stack.In one or more embodiments, 370 pairs of messaging kernel comes from operating system nucleus 224 process resource is allocated to perform messaging.It is one or more that each storage I/O stack layer may be implemented as execution One or more examples (that is, process) of thread (for example, in kernel or user's space), these examples between above-mentioned layer to passing The message passed carries out processing and enables message to provide synchronization for the blocking or non-blacked operation of above-mentioned layer.
In one embodiment, protocol layer 320 can be according to predefined agreement (such as iSCSI and FCP) by exchanging It is configured as the discrete frames of I/O requests or the mode of packet communicates via network 130 with main frame 120.I/O requests are (for example, read Or write request) LUN can be directed to, and I/O parameters (such as, especially LUN identifier (ID), LUN logic can be included Block address (LBA), length (that is, data volume), and write data (in the case of a write request).Protocol layer 320 receives I/O please Ask and I/O requests are transmitted to persistent layer 330, the persistent layer 330 recorded the request in lasting write-back cache 380 And acknowledgement notification is returned to main frame 120 via protocol layer 320, the lasting write-back cache 380 is exemplarily presented as day Will;For example, in some random access replacement policies, and more than in the case of serial mode, the content of daily record can carry out with Machine is replaced.In one embodiment, modification LUN I/O requests (for example, write request) only be have recorded.Note, can be by I/O Request recorded at the node for receiving I/O requests, or, in an alternative embodiment, implementation can be transmitted according to function will I/O request records are at other nodes.
Exemplarily, dedicated log can be safeguarded by storing each layer of I/O stacks 300.For example, dedicated log 335 can I/O stacks, parameter (that is, are stored (for example, volume with the I/O parameters of internal equally record I/O requests to be safeguarded by persistent layer 330 ID, offset and length)).In the case of a write request, persistent layer 330 can also cooperate with realizing write-back with NVRAM 280 Cache 380, the write-back cache 380, which is configured to store, associated with write request writes data.In one kind implementation In example, write-back cache may be constructed such that daily record.Note, writing data and can be physically stored on write request In cache 380 daily record 335 is included to the associated reference for writing data.It will be appreciated by those skilled in the art that can Data are write to store or safeguard using other modifications of data structure in NVRAM, including the use of the data knot without daily record Structure.In one embodiment, the copy of write-back cache can also be maintained in memory 220 to promote to storage control The direct memory access of device.In other embodiments, it can be stored according to data are safeguarded between cache and cluster Correlation agreement, at main frame 120 or at receiving node perform cache.
In one embodiment, LUN can be divided into multiple volumes by management level 310, and each volume can be partitioned into multiple areas Domain (for example, being allocated according to non-intersect block address scope), each region has one or more segmentations, these segmentation conducts Multiple bands are stored on array 150.Therefore, the multiple volumes being distributed in node 200 can provide service for single LUN, i.e. Each volume in LUN is LBA range (that is, offset ranges and length, hereinafter referred to as offset ranges) in LUN, different Or one group of scope provides service.Therefore, the protocol layer 320 can implement volume mapping technology to ask I/O targeted volume (that is, the offset ranges indicated by parameter asked for I/O provide the volume of service) is identified.Exemplarily, clustered data Storehouse 244 may be configured to the one or more associations (for example, key-value pair) of each volume maintenance being directed in multiple volumes, for example, Associating between associating between LUNID and volume and volume and the node ID of the node for managing the volume.Management level 310 may be used also To be cooperated with database 244 with establishment (or deletion) one or more volumes associated with LUN (for example, being created in database 244 Build volume ID/LUN key-value pairs).By using LUN ID and LBA (or LBA range), volume mapping technology can provide volume ID (for example, Use the appropriate association in cluster database 244) and by LBA (or LBA range) conversions coiled interior offset and length, should Volume ID is used for the node for recognizing volume and service being provided for the volume, and the volume is the destination of the request.Specifically, volume ID is used for true Determine volume layer example, the volume layer instance management volume metadata associated with LBA or LBA range.As it was previously stated, protocol layer 320 can To ask I/O (that is, volume ID, offset and length) to be transferred to persistent layer 330, persistent layer 330, which is based on volume ID, can use work( The suitable volume layer example that I/O is asked to perform on the node being forwarded in cluster by (for example, between node) implementation can be transmitted.
In one embodiment, volume layer 340 can manage volume metadata in the following manner, for example:Maintenance host is visible The state (such as, LUN scope) of container, and couple LUN cooperated with management level 310 perform data management function and (such as, created Build snapshot and clone).Volume metadata is exemplarily presented as LUN addresses (that is, offset) to the interior of persistence panel key assignments Nuclear mapping, persistence panel key assignments is SSD storages in the panel key assignments space of the storage container in cluster-wide, with panel ID in the associated unique cluster-wide in position.That is, panel key assignments, which can be used for retrieval, is located at SSD storage locations Data in the panel at place, associated with the panel key assignments.Alternatively, there can be multiple storage containers in cluster, wherein often Individual container has the panel key assignments space of its own, for example, panel is distributed in and deposited by management level 310 in the panel key assignments space In storage container.Panel is the data block of variable-length, and the data block provides the memory cell on SSD and need not be with appointing What specific border alignment, i.e. can be byte-aligned.Therefore, in order to maintain such alignment, panel can be write from multiple Enter the aggregation for writing data of request.Exemplarily, volume layer 340 can be by the request forwarded (for example, characterizing the letter of the request Breath or parameter) and volume metadata change recorded in the dedicated log 345 that volume layer 340 is safeguarded.Then, can be according to core Make an inventory of (for example, synchronous) operation and the content of volume layer daily record 345 is write into storage array 150, it is described to verify point operation by kernel member On data Cun Chudao arrays 150.That is, verifying point operation (verification point) ensures the consistent shape of the metadata handled by kernel State is submitted and (that is, stored) to storage array 150;And the resignation of journal entries before point operation is verified for example, by retiring from office tired The mode of long-pending journal entries, come the metadata for ensuring the entry accumulated in volume layer daily record 345 Yu being submitted to storage array 150 Verify point synchronous.In one or more embodiments, the resignation for verifying point and journal entries can be data-driven, cycle , or more the two.
In one embodiment, panel accumulation layer 350 is responsible for storing in panel onto SSD 260 (that is, in storage array On 150), and panel key assignments is supplied to volume layer 340 by (for example, write request in response to being forwarded).Panel accumulation layer 350 It is also responsible for (for example, read requests in response to being forwarded) and uses panel key assignments retrieval data (for example, existing panel).Panel Accumulation layer 350 can be responsible for before panel is stored carrying out the panel solution repetition and compress.Panel accumulation layer 350 can With the kernel mappings to panel key assignments to SSD storage locations (that is, the offset on the SSD 260 of array 150) (for example, embodying For Hash table) safeguarded.Panel accumulation layer 350 can also safeguard that the entry is accumulated to the dedicated log 355 of entry " being put into " and " deletion " operation (that is, the write request for panel sent from other layers to panel accumulation layer 350 asked And removal request), and these operations can change kernel mappings (that is, Hash-table entries).Then, can be according to " fuzzy " verification point 390 (that is, record has the verification point that increment changes in one or more journal files) store kernel mappings and panel The content write-in storage array 150 of layer daily record 355, wherein by the selected kernel mappings kernel mappings of total amount (be less than) according to Different time interval (for example, it is being driven by the change driving of a large amount of kernel mappings, by the size threshold value of daily record 355 or Regularly drive) it is submitted to array 150.Note, once all submitted kernel mappings include tiring out in daily record 355 During the change that long-pending entry is recorded, then these entries can be retired from office.
In one embodiment, the SSD260 in storage array 150 can be organized as one or more by RAID layers 360 RAID groups (for example, SSD gathers), one or more RAID groups pass through on the SSD 260 of the given quantity of each RAID groups Data " band " of the write-in with redundancy (that is, the appropriate parity information on slitting data), to improve array On panel storage reliability and integrality.RAID layers 360 can also be deposited for example according to the write operation of multiple successive ranges Multiple bands (for example, band with enough depth) are stored up, so as to reduce the knot as aforesaid operations that may occur in SSD The data repositioning (that is, internal flash block is managed) of fruit.In one embodiment, accumulation layer 365 realizes storage I/O drivers, Storage I/O drivers (such as, I/O (VFIO) drivers of Linux virtual functions) can by with operating system nucleus 224 Co-operation directly communicates with hardware (for example, storage control and cluster interface).
Write paths
Fig. 4 shows the I/O (examples for being used to handle I/O requests (for example, SCSI write requests 410) of storage I/O stacks 300 Such as, write) path 400.The write request 410 can be sent by main frame 120 and on the storage array 150 of cluster 100 The LUN stored.Exemplarily, protocol layer 320 receive the write request and by field to the request (for example, LUN ID, LBA and length (being shown at 413)) and write data 414 carry out that decoding 420 (for example, parsing and extract) comes please to the write-in Ask and handled.Protocol layer 320 can also use the result 422 for the decoding 420 (as described above) of volume mapping technology 430, with LUN ID in write request and LBA range (that is, equivalent to offset and length) are converted into volume layer appropriate in cluster 100 Example (that is, volume ID (volume 445)), the appropriate volume layer example is responsible for managing volume metadata for LBA range.A kind of alternative In embodiment, persistent layer 330 can realize above-mentioned volume mapping technology 430.Then, protocol layer by result 432 (for example, volume ID, partially Shifting amount, length (and writing data) pass to persistent layer 330, persistent layer 330 request recorded in persistent layer daily record 335 and It will confirm that information is back to main frame 120 via protocol layer 320.Persistent layer 330 can be by from one or more write requests Write data 414 to assemble and organize in new panel 610, and Hash meter is performed according to 450 pairs of new panels of panel salted hash Salted (that is, hash function) is calculated to generate cryptographic Hash 472.
Then, persistent layer 330 can by with assembled write data write request (including, such as volume ID, offset And length) appropriate volume layer example is transferred to as parameter 434.In one embodiment, parameter 434 (is received) by persistent layer Message transmission other nodes can be redirected to via function transfer mechanism (for example, PRC) for inter-node communication.Alternatively Ground, the message transmission of parameter 434 can be carried out for intra-node communication via IPC mechanism (for example, message threads).
In one or more of embodiments, bucket (bucket) mapping techniques 476 are provided to cryptographic Hash 472 being converted into The example (that is, panel storage example 470) of appropriate panel accumulation layer, the appropriate panel accumulation layer is responsible for storing new panel 610.Note, bucket mapping techniques can be performed in the random layer being located above the accumulation layer of panel of storage I/O stacks.For example, In a kind of embodiment, bucket mapping techniques can persistent layer 330, volume layer 340 or management cluster-wide in information layer it is (all Such as, cluster layer (not shown)) middle execution.Therefore, persistent layer 330, volume layer 340 or cluster layer can include what CPU 210 was performed Computer executable instructions, to carry out the operation for being used to perform bucket mapping techniques 476 described herein.Then, persistent layer 330 Cryptographic Hash 472 and new panel 610 can be transferred to appropriate volume layer example, and operation is put into by Hash by panel storage Value 472 and new panel 610 are transferred to appropriate panel storage example.Panel salted hash Salted 450 can embody approximate consistent Kazakhstan Uncommon function, example 470 is stored to ensure that any panel to be written can have approximately uniform chance to enter any panel, Hash bucket is distributed in the panel of cluster 100 storage example namely based on available resources.Therefore, bucket mapping techniques 476 are in cluster Node 200 on the write operation (and, for symmetry, read operation) of load balancing is provided, while balancing in cluster SSD 260 flash memory abrasion.
In response to being put into operation, panel storage example can be handled cryptographic Hash 472 to perform panel metadata choosing Select technology 460:(i) the appropriate Hash table of selection in the one group of Hash table (exemplarily, kernel) stored from panel in example 470 480 (for example, Hash table 480a), and (ii) extract hashed table index 462 to index selected Hash from cryptographic Hash 472 Table, and the table clause with panel key assignments 475 is searched for panel, the panel key assignments 475 is used to recognize depositing on SSD 260 Storage space puts 490.Therefore, panel accumulation layer 350 includes computer executable instructions, and CPU 210 performs these computers and can perform Instruct to carry out the operation for realizing panel metadata selected technology 460 described herein.If found with matching disc The table clause of area's key assignments, then the SSD positions 490 that are mapped using panel key assignments 475 retrieve existing panel from SSD (not shown).Then, whether existing panel and new panel 610 are compared to determine into their data identical.If number According to being identical, then new panel 610 is original is stored on SSD 260 and there is solution repetition chance (be expressed as solution and repeat 452) So as to It is not necessary to another copy of write-in data.Therefore, the reference count in table clause for existing panel increases, and existing The panel key assignments 475 for having panel be passed to appropriate volume layer example be used for be stored in it is intensive tree metadata structure 444 (for example, Intensive tree 444a) entry (be expressed as roll up metadata entry 446) in so that the offset ranges of panel key assignments 475 and volume 445 440 (for example, offset ranges 440a) are associated.
If however, the data in existing panel are different from the data in new panel 610, can clash and certainty is calculated Method is called to be continuously generated many new candidate panel key assignments (not shown) for mapping to same bucket as required to provide solution Repeat 452 or produce the panel key assignments for not yet storing and being stored in example in panel.Note, another Hash table is (for example, Hash table It can 480n) be selected according to panel metadata selected technology 460 by the new candidate panel key assignments.In the absence of solution weight Answer a pager's call and (that is, not yet store the panel) in the case of, be compressed according to 454 pairs of new panels 610 of compress technique and by newly Panel 610 is transferred to RAID layers 360, and the new panel 610 of 360 pairs of RAID layers, which carries out processing, to be used to be stored on SSD 260, RAID In one or more bands 710 of group 466.Panel storage example can cooperate with recognizing memory segment 650 with RAID layers 360 Position on (that is, a part for storage array 150) and SSD 260, in the segmentation 650 for storing new panel 610.Example Property, the memory segment recognized is the segmentation with larger continuous free space, and the free space has for example in SSD It is used for the position 490 for storing panel 610 on 260.
In one embodiment, then across RAID group 466 writes band 710, illustratively one or many to RAID layers 360 Individual full band write-in (full stripe write) 458.The RAID layers 360 can write a series of band of enough depth 710, to reduce the data relocation being likely to occur in the SSD 260 (that is, flash block is managed) based on flash memory.Then, panel The SSD positions 490 in new panel 610 are loaded into selected Hash table 480n (that is, according to new candidate's disk by storage example (i) Area's key assignments carries out the Hash table of selection);(ii) new panel key assignments (being expressed as panel key assignments 475) is transferred to appropriate volume layer reality Example is used to (be also represented by rolling up metadata bar to the entry of the intensive tree 444 managed by volume layer example by the new panel key assignments storage Mesh 446) in;And the change of the panel metadata of selected Hash table recorded panel accumulation layer daily record 355 by (iii) In.Exemplarily, intensive tree 444a, offset ranges 440a of the volume layer example selection across the offset ranges 440a of volume 445 Offset ranges including write request.As it was previously stated, volume 445 (for example, skew quantity space of volume) is partitioned multiple regions (for example, the multiple regions being allocated according to disjoint offset ranges);In one embodiment, each region is by intensive Tree 444 represents.Then, volume layer example will roll up metadata entry 446 be inserted into intensive tree 444a and will with roll up metadata bar The corresponding change of mesh recorded in volume layer daily record 345.Therefore, ask fully to be stored in the SSD of cluster in I/O (write-in) On 260.
Read path
Fig. 5 shows the I/O (examples of the storage I/O stacks 300 for handling I/O requests (for example, SCSI read requests 510) Such as, read) path 500.The read requests 510 can be sent by main frame 120 and node 200 in cluster 100 protocol layer Received at 320.Exemplarily, protocol layer 320 by the field to the request (for example, LUN ID, LBA and length are (at 513 Show)) decoding 420 (for example, parsing and extraction) is carried out to handle the read requests, and for volume mapping technology 430 use decoded result 522 (for example, LUN ID, offset and length).That is, protocol layer 320 can realize volume Mapping techniques 430 (described above) are with by the scope of LUN ID and LBA in read requests (equivalent to offset and length) The appropriate volume layer example (that is, volume ID (volume 445)) in cluster 100 is converted into, the appropriate volume layer example is responsible for being directed to LBA (i.e. offset) scope manages volume metadata.Protocol layer and then result 532 is delivered to persistent layer 330, persistent layer 330 can be with Write cache 380 is searched for be determined whether for some read requests or all to read according to the data of its cache Request offer service is provided.If can not be to whole request offer service according to the data of institute's cache, persistent layer 330 can be with According to function transfer mechanism (for example, RPC for inter-node communication) or IPC mechanism (for example, the message for intra-node communication Thread) remainder of request (including, volume ID, offset and length) is delivered to appropriate volume layer example as parameter 534.
Volume layer example can be handled the read requests to access and roll up 445 region (for example, offset ranges 440a) associated intensive tree metadata structure 444 (for example, intensive tree 444a), the region of volume 445 includes asked skew Measure scope (being specified by parameter 534).Volume layer example can be handled further read requests, close to search for (lookup) Collection tree 444a one or more volumes metadata entry 446 so as to obtain it is in asked offset ranges, with one or The associated one or more panel key assignments 475 of multiple panels 610 (or each several part in panel).In one embodiment, each Close tree 444 can be embodied as multi-pass decoding structure, the searching structure can at every one-level overlapping offset ranges entry.Should Multistage intensive tree can have volume metadata entry 446 for same offset, in this case, higher rank have compared with New entry and for providing service for read requests.Intensive the top of tree 444 is exemplarily retained in kernel and page Face cache 448 can be used to access the lower level of tree.If asked scope or one portion are not present in top Point, then it can access the metadata page associated with the directory entry at next relatively low tree rank (not shown).Then, under The metadata page (for example, in page cache 448) at one-level scans for finding any overlapping entry.So Afterwards, the process is iteratively performed, untill finding one or more volume metadata entries 446 of a level, to guarantee Find the panel key assignments 475 of the read range for entirely being asked.If the read range asked all or in part is not deposited In metadata entry, then non-lack part is by zero padding.
Once finding, then 340 pairs of each panel key assignments 475 of volume layer are handled to realize such as bucket mapping techniques 476, from And the panel key assignments is converted into the appropriate panel storage example 470 for being responsible for the asked panel 610 of storage.It should be noted It is that in one embodiment, each panel key assignments 475 can be substantially equivalent to the cryptographic Hash 472 associated with panel 610 (that is, the cryptographic Hash calculated during write request is carried out for panel) so that bucket mapping techniques 476 and panel metadata selected Technology 460 can be used for both write paths operation and read path operation.It is also to be noted that can be according to cryptographic Hash 472 derive panel key assignments 475.Then, the volume layer 340 can be by panel key assignments 475 (that is, from previous for panel The cryptographic Hash of write request) to transmit and (stored via panel and obtain operation) to appropriate panel storage example 470, the panel is stored Example 470 realizes panel key assignments to SSD mapping to determine position of the panel on SSD 226.
In response to acquisition operation, panel storage example can be handled panel key assignments 475 (that is, cryptographic Hash 472) To perform metadata selected technology 460:(i) appropriate Hash table is selected in the one group of Hash table stored from panel in example 470 480 (for example, Hash table 480a), and (ii) extract hashed table index 462 with rope from panel key assignments 475 (cryptographic Hash 472) Selected Hash table is guided to, and the table clause with matching panel key assignments 475, the matching panel are searched for panel 610 Key assignments 475 is used to identify the storage location 490 on SSD 260.That is, being mapped to the SSD positions 490 of panel key assignments 475 It can be used for the existing panel (being expressed as scope 610) of retrieval from SSD 260 (for example, SSD 260b).Then, panel is stored Example cooperates with accessing the panel on SSD 260b and retrieve data content according to read requests with RAID layers 360.Show Example property, RAID layers 360 can be read out to panel according to panel read operation 468 and panel 610 is transferred into panel Store example.Then, storage example in panel can be decompressed according to decompression technique 456 to panel 610, but answer this area Technical staff in any layer of storage I/O stacks 300 it is to be understood that perform decompression.Panel 610 can be stored in storage In the buffer (not shown) of device 220, and the reference of the buffering area can be transmitted back to by storing each layer of I/O stacks.So Afterwards, panel can be loaded into reading formula cache 580 (or other classification mechanism) by persistent layer, and can be asked for reading 510 LBA range is asked to extract appropriate reading data 512 from reading formula cache 580.Hereafter, protocol layer 320 can be created SCSI reads response 514 (including reading data 512) and reading response is back into main frame 120.
Hierarchical file system
The exemplary hierarchical file system for employing storage I/O stacks of embodiment described herein.The hierarchical file system includes The flash memory of file system is preferred, log-structured layer (that is, panel accumulation layer), and the flash memory is preferred, log-structured layer is configured as carrying For the Coutinuous store (that is, log-structured layout) of the data on the SSD 260 of cluster and metadata.Data can be organized as by Node provides the visible LUN of one or more main frames of service any number of variable-length panel.Metadata can include from The LUN visible range of logical block addresses of main frame (that is, deviation range) arrives the mapping of panel key assignments, and panel key assignments arrives panel The mapping of SSD storage locations.Exemplarily, the volume layer of hierarchical file system cooperates with providing indirect layer with panel accumulation layer, should Indirect layer promotes the efficient log-structured layout in panel on SSD by panel accumulation layer.
In one embodiment, (such as write-in distribution and flash memory device are (i.e., for the function of the log-structured layer of file system SSD) manage) performed and managed by panel accumulation layer 350.Writing distribution can include collecting variable-length panel, can with formation To be written into the full band to discharge segmentation across the SSD of one or more RAID groups.That is, the log-structured layer of file system is by disk Initially idle (that is, clean) segmentation is write as full band, rather than part band in area.Flash memory device management can include segmentation Remove to create this freed segment via RAID groups indirect mappers to SSD.Therefore, part RAID stripe write-in is avoided by, This produces reduced RAID correlation write-in amplifications.
Instead of relying on the refuse collection in SSD, storage I/O stacks can realize that segmentation is removed (i.e., in the accumulation layer of panel Refuse collection), to get around the performance impact of flash translation layer (FTL) in SSD (FTL) function (including refuse collection).In other words, store I/O stacks allow the log-structured layer of file system using clear operation is segmented for data layout engine, effectively to replace SSD's The substantial portion of FTL functions.Therefore panel accumulation layer can remove (that is, refuse collection) according to segmentation and be asked to handle random writing Ask to predict the flash memory behavior in its FTL function.Therefore, the log-structured equivalent source for the write-in amplification of storage I/O stacks can To merge and manage in panel accumulation layer.In addition, the log-structured layer of file system can be used to improve storage battle array by part The write performance of the flash memory device of row.
Note, SSD log-structured layout is realized by being sequentially written in panel with removing segmentation.Therefore, deposited by panel The log-structured layout (that is, sequential storage) that reservoir is used inherently supports variable-length panel, thus allows the storage on SSD Before panel not strictly compress and without from SSD clear and definite block level (that is, SSD blocks) metadata support, such as support 520 bytes of 512 byte datas and 8 byte metadata (for example, for another piece pointer of the end comprising compressed data) Sector.Generally, the sector for the power (for example, 512 bytes) that consumer-grade SSD supports are 2, and more expensive enterprise level SSD It can support to strengthen the sector (for example, 520 bytes) of size.Therefore, panel accumulation layer can utilize the consumer of lower cost Rank SSD is operated, while associated without constraint compression supporting variable-length panel using its.
Segmentation is removed
Fig. 6 shows and removed by the segmentation of hierarchical file system.In one embodiment, the panel of hierarchical file system Accumulation layer 350 can write panel empty or clear area or " segmentation ".Before the segmentation is re-writed again, panel accumulation layer 350 can be purged section according to segmentation removing, and the segmentation, which is removed, as shown in the figure can be embodied as being segmented reset procedure.Should Segmentation reset procedure can read all effective panels 610 from old segmentation 650a and (that is, not be deleted in those effective panels Or the panel of manifolding 612) one or more new segmentation 650b-c are write, thus discharge (that is, " removing ") old segmentation 650a.New building Area then can sequentially be write old (now clean) segmentation.Hierarchical file system can keep the retaining space of specified quantitative (i.e., Freed segment) with support segmentation remove efficient performance.For example, hierarchical file system can keep being equal to approximately as shown in the figure The retaining space of the freed segment of 7% memory capacity.Being sequentially written in for new panel can show as full band write-in 458 so that All SSD that single write operation to storage is crossed in RAID groups 466.Bar until minimum-depth can be accumulated by writing data Band write operation can be performed.
Exemplarily, segmentation is removed and can be performed to discharge indirect mappers to SSD one or more selected segmentations.Such as Used herein, SSD can include multiple fragmented blocks 620, wherein the size example of each block is approximate 2GB.Segmentation can be with Include the fragmented blocks 620a-c of multiple SSD each SSD in RAID groups 466.Therefore, for the RAID with 24 SSD Group, wherein 22 SSD equivalent memory space data storage (data SSD) and 2 SSD equivalent memory space storage odd even Verify (even-odd check SSD), each segmentation can include 44GB data and 4GB even-odd check.RAID layers can be further RAID groups are configured according to one or more RAID implementations (for example, RAID1, RAID 4, RAID 5 and/or RAID 6), Thus protection to SSD is provided in the case of for example one or more SSD failures.Note, each segmentation can from it is different RAID groups are associated, and therefore can have different RAID to configure, i.e. each RAID groups can be real according to different RAID Existing mode is configured.In order to discharge or remove selected segmentation, the panel comprising valid data is moved to difference in segmentation Clean segmentation and selected segmentation (now clean) is released for follow-up reuse.It is empty that the merging scattered free time is removed in segmentation Between to improve write-in validity, for example, improved by reducing the related magnifying powers of RAID write-in validity to band and The write-in validity to underlying Flash memory block is improved by reducing FTL performance impact.Once segmentation is eliminated and specifies release, Data just can sequentially be write the segmentation.The counting structure kept by panel accumulation layer for write-in distribution is (for example, indicate segmentation The freed segment mapping of the amount of free space) it can be used by segmentation reset procedure.Note, the clean segmentation of selection is with from just clear The subsection receiing data (that is, write) removed can be based on remaining free space in the clean segmentation amount and/or this clean point The final time that section is used.It shall also be noted that the different piece of the data from the segmentation being just eliminated can be moved into Different " targets " segmentation.That is, multiple related clean segmentation 650b, 650c can receive data from the segmentation 650a being just eliminated Different piece.
Exemplarily, segmentation removing is likely to result in the amplification of write-in to a certain degree in storage array (SSD).However, literary Part system can by SSD be sequentially written in panel be used as logging device reduce it is this write-in amplify.For example, it is assumed that SSD has There is approximate 2MB erasing block size, by being sequentially written at least 2MB data (panel) to freed segment, whole erasing block can Be replicated and the fragmentation of SSD stage can be eliminated (that is, reduce SSD in refuse collection).However, SSD generally across Multiple flash memory components and across multiple passages (that is, storage control 240) slitting data to realize performance.Therefore, to the free time Relatively large (for example, 2GB) write-in granularity of (that is, clean) segmentation may be to avoiding SSD stage write-in amplification from (that is, covering internal SSD Slitting) for be necessary.
Specifically, because the erasing block boundary in SSD is probably unknown, write-in granularity should be sufficiently large, so as to For the panel on big successive range a series of write-ins can make carbon copies panel previously written on SSD and effective over Refuse collection in SSD.In other words, this refuse collection can be preempted because new data with past data identical model Place and be written into so that the new data makes carbon copies previously written data completely.The method also avoid new write-in data consumption and protect The spatial content stayed.Therefore, the advantage of the log-structured feature (that is, the log-structured layer of file system) of storage I/O stacks is The ability of SSD write-in amplification is reduced merely with the retaining space of minimum in SSD.The log-structured feature is by retaining space Flash memory device management from SSD effectively " movement " to panel accumulation layer, the panel accumulation layer is managed using the retaining space Write-in amplification.Therefore, a source (that is, panel accumulation layer) for write-in amplification, rather than two with write-in amplification are only existed Source (that is, panel accumulation layer and SSD FTL, both are multiplied).
Write-in distribution
In one embodiment, each segmentation can have multiple RAID stripes.Segmentation is allocated (that is, in removing point every time After section), each SSD block can include a series of RAID stripes in the segmentation.Each piece can be identical or different in SSD Skew.Panel accumulation layer can read block for the purpose order of removing and all valid data are reoriented into another point Section.Hereafter, the block 620 of the packet through removing can be released and can propose how that composition uses next segmentation of the block Decision-making.For example, if SSD is removed from RAID groups, a part (that is, a chunk 620) for capacity can be from next segmentation (that is, the change in RAID stripe configuration) is omitted, to constitute the RAID groups of a narrower block from multiple pieces 620, i.e. make Obtain the few block width of RAID width.Therefore, removed by using segmentation, new segmentation every time is allocated, and constitutes the block 620 of segmentation RAID groups just can effectively be created, i.e. when new segmentation is allocated, RAID groups are just from available SSD dynamic creations.Generally not Need all SSD 260 in new segmentation includes storage array 150.Alternatively, the block 620 from the SSD newly introduced can To be added into the RAID groups created when new segmentation 650 is allocated.
Fig. 7 shows the RAID stripe formed by hierarchical file system.Note, write-in distribution can include collecting variable length Scale area is to form one or more bands across the SSD of one or more RAID groups.In one embodiment, RAID layers 360 The topology information and parity calculation of the replacement in panel 610 on the SSD 260a-n for RAID groups 466 can be managed.For This, RAID layers can cooperate with being organized as panel into the band 710 in RAID groups with panel accumulation layer.Exemplarily, panel is deposited Reservoir can collect panel 610 can be written to freed segment 650a one or more full bands 710 to be formed so that single All SSD that stripe write operation 458 can be crossed in the RAID groups.Panel accumulation layer can also be cooperated with RAID layers with will be every Individual band 710 is packaged as the full band in variable-length panel 610.Once band is done, RAID layers can be by the full bar in panel With 710 accumulation layers 365 that storage I/O stacks are delivered to as a chunk 620d-f, for being stored on SSD 260.By to sky The full band (that is, data and even-odd check) of spare time segmentation write-in, hierarchical file system avoid the cost of parity updating and The read operation load of across SSD any request of expansion.Note, the panels 610 for hanging up write operation of SSD 260 can be cumulatively added To block 620d, e, the block is written to SSD (for example, 2Gbyte) as one or more interim approximate write operations, thus reduces FTL performance impact in SSD.
In one embodiment, panel storage can be considered as the global extent pool stored on the storage array 150 of cluster, Wherein each panel can be maintained in the RAID groups 466 of panel storage example.Assuming that one or more variable-lengths are (i.e., It is small and/or big) panel is written into segmentation.Panel accumulation layer can collect variable-length panel to form the SSD across RAID groups One or more bands.Although each band can include multiple panels 610 and panel 610 can cross over more than one band 710a, b, each panel are intactly stored on a SSD.In one embodiment, band can have depth 16KB simultaneously And panel can have size 4KB, but hereafter panel can be pressed downward and be reduced to 1KB or 2KB or smaller, so that allow can It can exceed that the bigger panel of stripe depth (that is, block 620g depth) is packaged.Therefore, band can merely comprise one of panel Point, the depth (that is, the chunk 620d-f for constituting the band) of band 710 can be independently of the disk for being written into any one SSD Area.Because panel accumulation layer can write panel as one or more freed segments of the full band across SSD, with band The associated write-in amplification of processing information can be reduced.
Rate-matched technology
Each embodiment described herein is related to rate-matched technology, and the rate-matched technology is configured as adjusting storage array The clearance rate of one or more selected segmentations, to adapt to by the incoming workload for storing the processing of I/O stacks (and by every Individual selected segmentation is removed and the valid data that are relocated) variable bit rate.Incoming workload can show as being directed to user Data (for example, from main frame coupled to cluster) and associated metadata are (for example, volume layer and panel from storage I/O stacks Accumulation layer) I/O operation (for example, read operation and write operation).Note, panel accumulation layer is above carried in the SSD of storage array For user data and the sequential storage of metadata (being presented as panel).Panel accumulation layer can remove (that is, rubbish receipts according to segmentation Collection) segmentation is removed, the segmentation, which is removed, can exemplarily be embodied as being segmented reset procedure.The segmentation reset procedure can be from treating All effective panels are read in the one or more segmentations removed, and by those effective panels (for example, not deleted panel) Other the one or more segmentations that can be written into are write, the memory space for the segmentation that (that is, " removing ") is just being eliminated thus is discharged.
The challenge that segmentation is removed is related to the resource balanced by being consumed to other one or more fragmented copy valid data (for example, I/O bandwidth and CPU) and the resource needed for the variable incoming I/O workloads (that is, showing as I/O operation) of service.Panel Accumulation layer can postpone segmentation and remove until the number of freed segment in storage array is dropped to below specific threshold, thus minimize Data and metadata (that is, panel) reorientation and write-in amplification.That is, be loaded with data segmentation be not required to it is to be purged, until being available for The number of the freed segment used is dropped to below the threshold value.Therefore, it is desirable to remove segmentation fast enough to adapt to variable incoming write Enter workload, but can not be too fast so that quickly removing segmentation than needed for and producing unnecessary write-in amplification, i.e. copy The data that shellfish (removing) will may be made carbon copies by incoming workload.Panel can be replicated or delete before segmentation is removed, Panel need not be reoriented to another segmentation in the case of this.For example, removing the segmentation too if as segmentation reset procedure Then the panel is replicated (that is, before needing to remove the segmentation) soon, and effective panel of block is relocated to another segmentation, then Unnecessary write-in amplification can be produced.Additionally, it is desirable to be segmented removing it is as smooth as possible, i.e., in response to incoming I/O workloads guarantor Hold boundary's delay, to avoid inequality (imbalance) response time to main frame.Therefore, rate-matched technology described herein is related to Regulation segmentation removes to adapt to the delay that variable workload and smooth main frame are perceived.
In one embodiment, rate-matched technology may be implemented as feedback control mechanism (for example, feedback control is returned Road), the feedback control mechanism is configured as adjusting based on incoming reading and write-in workload and the speed of segmentation removing It is segmented reset procedure.The part of feedback control mechanism can include one or more weighting schedulers and various count data structures (for example, counter), the counter be configured as tracking (it is determined that) segmentation remove and segmentation in the progress (example that uses of free space Such as, speed).The counter may be utilized for the speed of balance segmentation removing and incoming I/O workloads, the incoming I/O works Making load can change depending on the pattern (reduce and remove) made carbon copies in incoming I/O speed and incoming I/O workloads.Work as biography When entering the change of I/O speed, the speed that segmentation is removed can be accordingly adjusted to ensure that speed (that is, incoming I/O speed and segmentation Clearance rate) substantially the same (that is, balancing).Only needing (that is, to be that incoming I/O releases are empty in this manner, segmentation is removed Between) when be performed and reduce write-in amplification.Similarly, incoming I/O speed can be suppressed (that is, constrained) to allow to be in The segmentation of backward state is removed and caught up with.
Fig. 8 A and Fig. 8 B respectively illustrate reading and the write-in weighting scheduler of rate-matched technology.Store in I/O stacks I/O operation (for example, reading and write operation) can enter according to user, metadata and reorientation (segmentation remover) I/O operation Row classification.Read operation provides according to SSD 260a-n and services and directly distributed from the reading process 810 of panel accumulation layer To RAID layers.Write operation is cumulatively added at the write-in process 850 of panel accumulation layer, wherein the phase before being distributed to RAID layers The panel 610 of association can be packaged to form full band.Weighting scheduler can be used with RAID in panel accumulation layer Layer adjustment read operation and full stripe write operation.Exemplarily, write-in weighting scheduler 860 is segmentation in write-in process 850 650 all SSD 260 are provided, and are read weighting scheduler 820a-n and read each disk (example of the process 810 for segmentation 650 Such as, SSD) bandwidth distribution between various classification to control I/O operation is provided.
Exemplarily, there are some segmentations in storage array, these segmentations are once full of, it is necessary to which segmentation, which is removed, (that is, to be done Only the number being segmented is dropped to below freespace threshold).Rate-matched technology tries hard to (that is, consume with the filling of incoming workload Free space) substantially the same speed progress segmentation removing of segmentation.Otherwise, segmentation removing may handle (1) too soon, thus increase Plus write-in amplification or (2) fall behind.For the latter, it may thus produce and not have in segmentation without enough clean segmentations " reservation " There are enough free spaces to be used to receive incoming workload;In addition, the segmentation being just eliminated may not by time be removed with Receive incoming workload.(that is, remove too fast) in the case of the former, completing segmentation removing, there may be the lower of main frame is prolonged (that is, bear " peak ") late.In both cases, " peak " (negative or positive) in the delay that main frame is perceived may be due to for incoming The unexpected removing (or fully erased) of the free space of workload and occur.In one embodiment, it is each to read weighting tune Multiple queues can be included by spending device 820a-n and write-in weighting scheduler 860, wherein the classification (example of each queue and I/O operation Such as, user, metadata and reorientation) one of it is associated.In other words, queue can include (i) for incoming user data (UD) The data queue of workload (reads 830a-n, 870), (ii) is directed to incoming volume and panel accumulation layer metadata (MD) work for write-in Make the metadata queue (reading 832a-n, write 872a-n) loaded, and (iii) is directed to data and first number during segmentation is removed (834a-n is read, write-in is 874) according to the reorientation queue of reorientation (REL).According to rate-matched technology, weighting scheduler can be with It is configured as applying fine granularity control to the speed that segmentation is removed with by assigning related weighing to match incoming I/O works to queue Make the speed loaded, the unnecessary write-in amplification produced due to too fast operation will not be introduced (simultaneously by therefore ensuring that segmentation is removed And the unnecessary main frame delay of increase), and do not interfere with and may increase associated with I/O workloads due to too slow operation The performance of delay that perceives of main frame.Note, the queue of each classification (UD, MD and REL) provides for each SSD, to support Fine granularity control to I/O.
For this reason, it may be desirable to which each band (for example, as part of full stripe write operation 458) for writing storage array exists Ready state has metadata, user data and the constant ratio for relocating data;Otherwise, the delay that main frame is perceived may go out Existing peak (that is, postponing beyond bounded).Rate-matched technology tries hard to the smooth write latency of offer and reads delay (for example, pin To user data read operation, metadata read operation and reorientation read operation), i.e. to keep the smooth delay to main frame (behavior for not having similar shake).Therefore, the technology balance user data, metadata and reorientation data in reading and Write operation (I/O rate-matcheds), and balance (fine granularity control) reading and write operation.
In one embodiment, rate-matched technology, which is provided, dispatches by selection and service queue and (that is, handles the team The operation (being presented as message) of row) single reading queue 830a-n, 832a-n, 834a-n and write-in queue 870,872, 874.Note, to each corresponding each set for reading the associated reading queues (UD, MD and REL) of weighting scheduler 820a-n Each SSD can be assigned to;Adjusted however, the single set of write-in queue (UD, MD and REL) can be assigned to write-in weighting Spend device 860.Exemplarily, each SSD is circulated the set for being assigned to write-in queue.Queue can be tired with the time based on the queue Long-pending credit (amount of bytes of service) being serviced (that is, assigning weighting).For example, it is assumed that three queues (user data, metadata and Relocate data) weighting according to ratio 1:2:3 assign.With number " N " individual iteration, weighting scheduler tries hard to first class services team Arrange (1/6*N), second queue (2/6*N) and the 3rd queue (3/6*N).Because different I/O operation classification can have difference Payload size (variable-size panel), therefore operation " credit size " (for example, 64KB) value can be from queue as true Fixed reading and write-in weighting scheduler is processed for hold queue weighting ratio.In other words, queue can be processed and make I/O byte numbers (rather than queue entries number) hold queue that must be from each queue weights ratio.
Exemplarily, there is a write-in weighting scheduler 860 and be arranged to write operation (that is, in all SSD altogether Enjoy) because RAID layers perform full stripe write operation 458 across all SSD.Weighting scheduler 820a- is read however, it is possible to exist N is arranged to the read operation for each SSD, because panel is read from a SSD and can be different across SSD every time Ground disperses.Therefore, on read path there is a reading weighting scheduler 820a-n (based on single in each SSD 260a-n SSD read operations), the read path is realized for reading queue in the backfeed loop on SSD, and the pin on write paths There is a write-in weighting scheduler 860 (being based on full stripe write operation) to all SSD, the write paths are for write-in queue Realized in the backfeed loop across all SSD.Note, show the source of (in the read path of storage I/O stacks) read operation: (i) user data (UD) read operation, (ii) metadata (MD) read operation and (iii) from volume and panel accumulation layer comes From reorientation (REL) read operation of segmentation reset procedure.Similarly, these sources are deposited also for the write paths of storage I/O stacks .By this framework, the I/O bandwidth of some classes can be controlled to accelerate or slow down segmentation by changing the weighting of correspondence queue Reorientation.
Fig. 9 shows rate-matched technology.In response to selecting the segmentation for removing, the segmentation reset procedure is from for weight The certain number of byte of positioning starts to remove " bytes_to_relocate_at_start ".That is, 910 are removed with segmentation to open Begin, the segmentation causes all bytes in effective panel (that is, be not deleted or make carbon copies) to be relocated.Counting structure 920,940 (for example, one or more counters) can keep tracking to count, and (be reset in being such as segmented as panel is added by removing Position) and/or delete effective panel of (being ignored by removing) and/or delete the number in panel.These statistics can be used for export Have been segmented into the number of the byte of reset procedure reorientation.Notice that the panel for being added to segmentation adds removing burden and (that is, increased The number for the byte to be relocated is added);However, reducing removing burden from the panel that segmentation is deleted, (that is, reducing to reset The number of the byte of position).Being segmented the progress removed can be traced in segmentation removing progress counting structure 920, and the segmentation is clear Except progress counting structure 920 (for example, counter) causes parameter (such as " bytes_to_relocate_at_start " 922 He " bytes_relocated " 924 number) calculate the percentage of byte being relocated, " reloc_pct " 926, i.e. (reorientation) progress is removed in segmentation:
Reloc_pct=(bytes_relocated/bytes_to_relocate_at_start) * 100
Similarly, for select for remove one or more segmentations incoming I/O speed 930 (that is, incoming work bear Carry) free space availability can be used to determine.Without the byte number being relocated it is considered as free space in segmentation, That is, the write-in space quota (" write_quota_total ") available for segmentation.Since segmentation reset procedure has started for every The byte number (that is, running counter) of individual segmentation write-in/consumption can be tracked as " write_quota_used ".Therefore, Free space can use space free count structure 940 to be traced, and the space free count structure 940 causes parameter " write_quota_used " 944, " write_quota_total " 942 and free space most recently used percentage are calculated as:
Write_quota_pct=(write_quota_used/write_quota_total) * 100
Exemplarily, as progress is recorded for the removing (that is, the change of the percentage of counterweight located byte) of segmentation, Progress is recorded (that is, to the change in variable write-in space) also for the user data and metadata of write-in so that segmentation is removed Speed can be conditioned.That is, the panel amount from the segmentation reorientation being just eliminated is tracked, and the sky consumed in the segmentation The amount of free space.By the two parameters (that is, reloc_pct 926 and write_quota_pct 946), can propose on Reduce or increase the decision-making for resetting bit rate.In other words, parameter reloc_pct and write_quota_pct can be used for instead Present incoming I/O speed and segmentation clearance rate.For example, it is assumed that 50% panel needs to be relocated when beginning is removed in segmentation. It is further assumed that incoming I/O can make carbon copies logical block during removing is segmented so that panel (block) amount that will be relocated is reduced, Thus the increase of incoming I/O speed (for example, speed of the incoming write request from main frame) is allowed.Rate-matched technology is determined When and how various input rates are adjusted (for example, keeping smooth and imperceptible in terms of the delay to main frame Volt).
By removing (that is, reloc_pct parameters 926) and available free space (that is, write_quota_ on segmentation Pct parameters 946) progress information, can calculate reorientation queue expectation weighting.Controlled by calculating I/O rate-matcheds Error (for example, write_quota_pct-reloc_pct) between the medium-rate of device 950, and to reorientation queue (for example, Write-in reorientation queue 874) expectation weighting using the error as actuating to reduce the error (that is, backfeed loop), can be with Realize desired control (that is, incoming I/O speed substantially being matched into segmentation clearance rate).Note, available free space conduct Negative-feedback come limit segmentation remove speed, i.e., free space more (less incoming I/O), it is necessary to removing it is fewer.It is exemplary Ground, desired reorientation weighting and user and metadata queue it is weighting and relevant.Once calculating desired weighting, reset The weighting of position queue can just be adjusted in the range of small increase or decrease, rather than directly carry out the desired weighting, to avoid The extensive vibration in terms of performance shakes the weighting of (that is, the quick change for the delay that main frame is perceived) is likely to result in (for example, control Loop overshoots ring).Note, expect in error (that is, incoming I/O speed and reset the imbalance between bit rate) control period The delay (for example, 1 millisecond) perceived by main frame is constrained, so that smooth delay changes.It will be appreciated by those skilled in the art that being permitted Many control algolithms (such as proportional-integral-differential (PID) is controlled) can be used to realize the desired control.
The parameter (that is, bytes_relocated 924 and write_quota_used 944) of export segmentation clearance rate Can be traced and update in I/O paths, thus weighted calculation logic can reorientation progress (reloc_pct 926) or Free space is triggered when using the difference in (write_quota_pct 946) to be more than 1%.That is, when reorientation percentage (reloc_pct) or write-in quota percentage (write_quota_pct) change 1% when, I/O rate matching controllers 950 Weighting (that is, speed) is calculated and is triggered.Therefore, control loop calculating can be by the minimum change rather than fixed sample in error Speed drives.Separate processes (not shown) (that is, can be segmented removing progress structure 920 and free space and use knot with parameter The parameter of structure 940) change during the speed control of queue and be updated.Note, parameter can be removed (i.e., due to segmentation Reset the change of the number and amount of free space of bit byte) and/or incoming I/O operation (that is, the change of amount of free space) and change Become.
In one embodiment, one group of default weighting can be assigned to three queues, wherein 50% (fixation) weighting User data (UD) queue can be assigned to, 10% weighting can be initially assigned to metadata (MD) queue and 50% Weighting initially can be assigned to reorientation (REL) queue.Note, the fixed weightings of UD queues assign can be used for it is at least true Protect the minimum service of host request.Relocate queue weighting can such as 10%-1000% (be more than 20 times of UD queues) it Between change, this is due to that the weighting is typically to be driven by the degree of filling (amount in effective panel) that is segmented, i.e. segmentation it is fuller, it is necessary to The amount in the panel of reorientation is bigger, and therefore reorientation queue is longer.If for example, the segmentation that will be removed be 50% expire, The amount in effective panel of (removing), which will be relocated, should be similar to the number of users that will be write in the time frame of filling segmentation According to the amount of (and metadata).Therefore, degree of filling of the weighting dependent on storage array (segmentation), that is, reorientation needed for removing segmentation Amount is relevant directly with the degree of filling of storage array.It shall also be noted that the speed of incoming I/O operation may rely on it is desired simultaneously Hair amount.
As it is used herein, be concurrently to be based on incoming I/O workloads, and rate-matched is filling based on storage array Full scale and segmentation relocate the progress (that is, backward or advanced degree) of queue during removing.Specifically, reading concurrently can be with Determined based on RAID write requests.In one embodiment, rate-matched technology can use the weighting scheduler of ablation process Logic is used for the concurrent of both read operation and write operation, even if the independent weighting scheduler of reading process is directed to each disk (SSD) keep, i.e. each weighting for reading queue is identical.The processing of each queue is by user data (UD), metadata (MD) and reorientation (REL) queue ratio determine.If storage array is high speed that is full and there is incoming user data I/O Rate, then segmentation is removed and is weighted more heavily to be maintained at before I/O speed;Otherwise, enough memory spaces will not Adapt to incoming I/O workloads.If that is, be segmented remove during there is high (undesirable) read and postpone, without need not The reorientation wanted writes workload to keep up with incoming I/O.Increase reorientation queue weighting therefore be probably it is necessary, so as to Reorientation queue " can finally catch up with " speed of incoming I/O workloads.
Therefore, rate-matched technology tries hard to segmentation removing being maintained at before I/O speed;Otherwise storage array may be too early Ground is finished and (exhausted) memory space.Therefore, reorientation queue can be prioritized for user data I/O workloads and (pass through Regulation weighting).In addition, if user's I/O operation is then segmented clear without rapidly being received and being handled by storage I/O stacks as expected The speed removed can be reduced and (slow down), to avoid reorientation (that is, copying) if the removing of segmentation is delayed by (until needing) It may not be needed the panel of this copy.Assuming that relocating queue by random preferential to be maintained at before incoming user data Face.The panel filling that be used to writing on disk with band, compared with relocating the amount (for example, more) in panel, not into than Example, which obtains lower user data extent amount (for example, less), can be assembled or be packaged into band.This is there may be NVRAM lasting The loss of layer, i.e. the service to data in NVRAM possibly can not occur fast enough, thus cause to " back pressure " of main frame with And the peak in the delay that perceives of main frame.Rate-matched technology described herein is attempted to avoid this situation, so as to smooth delay, and Keep just coming to avoid these peaks in incoming I/O workloads speed by the way that segmentation is removed.
Note, read work load is applied equally to for writing the rate-matched of queue of workload.Depending on reading Workload is taken, each SSD there can be the different rates for the weighting for being attributed to its queue.Exemplarily, team is read in reorientation Row speed is controlled to matching user data and metadata reads (and write-in) queue rate.This causes to carry out bandwidth according to SSD Matching so that SSD can be allocated less read operation in busy and be allocated more read operations in not busy.Due to having Enough redirections, it is therefore desirable for the number for ensuring read operation is significant for SSD so that (reorientation) is removed in segmentation can To be performed with desired speed, while not influenceing main frame to read the smooth of delay.In other words, it is not necessary to send more read and grasp Reorientation is acted on, but needs to meet write operation for relocating.In this way, rate-matched technology can be configured as preventing The read operation of influence user and storage I/O stacks to data and metadata is removed in segmentation.Therefore, the speed of reorientation queue is read The speed of matching write-in reorientation queue can be controlled to so that the speed of user and metadata queue is allowed to carry out on demand Processing.
Weighted calculation based on feedback control described herein ensures that there is appropriate weighting to keep desired for reorientation queue It is segmented removing progress.The service (for example, reader and write-in process) of driving reorientation I/O operation is secondary control point, this time Control point is wanted to provide fine-grained speed control 960 to track reorientation progress, so as to expect rate processing I/O operation, i.e. The speed is set by (main) the I/O rate matching controllers 950 of setting expected rate.The service for relocating panel considers following Aspect handles reorientation I/O operation:(i) in current weighting (that is, the phase set by I/O rate-matcheds of write-in process queue Hope speed);(ii) writing the Current Write Request of the class I/O operation of process three (user, metadata, reorientation) (with byte) Number;(iii) read process according to SSD across it is all weighting schedulers current read requests (with byte) number;And (iv) reorientation progress and/or free space availability.It additionally, there are according to the limitation of service to ensure that service does not terminate big vast biography Defeated I/O operation, wherein these limitations include the number of (v) according to the reorientation I/O operation for the segmentation distribution that will be removed;(vi) The maximum number of current reorientation I/O operation;And (vii) current maximum number for resetting bit byte.
Although having been shown and describing exemplary embodiment and be related to rate-matched technology, the rate-matched technology is configured The speed of one or more selected segmentations of storage array is removed for regulation, to adapt to by one or more nodes of cluster The variable bit rate of the incoming workload of the storage I/O stacks processing of execution, it should be understood that in the spirit and scope of embodiment hereof It is interior to carry out various other adaptations and modification.For example, each embodiment is being directed to the panel storage in storage I/O stacks herein The rate-matched technology that layer is used is shown and described.However, each embodiment is not limited to this in its wider meaning, In fact each embodiment can also allow for using in other storage applications and in other layers (such as volume layer) of storage I/O stacks Rate-matched technology, the wherein technology can be used for realizing that dereference counts step (that is, adjusting the deletion in storage system).
Description above is directed to specific embodiment, it will, however, be evident that can be carried out to described embodiment Other variants and modifications, these variants and modifications obtain the part or all of advantage of the embodiment.For example, it is expressly contemplated that Be, components described herein and/or element may be embodied as tangible (non-transitory) computer-readable medium (for example, Disk and/or CD) on the software that is encoded, the computer-readable medium of tangible (non-transitory), which has to perform, to be calculated Machine, hardware, the programmed instruction of the combination of firmware or above-mentioned item.Therefore, this specification is intended only to illustrate and is not intended to pair The scope of the embodiments herein is limited.Therefore, the purpose of appended claims is to cover the real of the embodiments herein All these variants and modifications within spirit and scope.

Claims (20)

1. a kind of method, including:
Multiple write requests for one or more logic units (LUN) are received with incoming speed, each write request has Data and it is processed at the node of cluster, the node, which has memory and is linked to solid-state driving (SSD), to be deposited Store up array;
The data of each write request are stored in first across one group of SSD as one or more user data extent In segmentation, first segmentation has log-structured layout;And
The clearance rate is controlled by the way that the speed for removing first segmentation is substantially matched into the incoming speed.
2. according to the method described in claim 1, further comprise:
Track the percentage of the free space of first segmentation;
Tracking is reoriented to the percentage of the byte of the second segmentation, described second across one group of SSD from the described first segmentation Segmentation has the log-structured layout;And
By subtracting the percentage of the free space from the percentage for resetting bit byte come calculation error.
3. method according to claim 2, further comprises:
The first weighting to being assigned to reorientation queue is proportional to be located in the reason reorientation queue, and described first weights and use institute The error of calculating determines, wherein the byte for being reoriented to second segmentation from the described first segmentation be enqueued onto it is described heavy Position queue.
4. method according to claim 2, wherein the error responses calculated are in the percentage of the free space Change exceedes threshold value and calculated.
5. method according to claim 3, wherein the data of each write request are enqueued onto and the reorientation The user data queue of queue separation.
6. method according to claim 3, proportional to the described first weighting it is located in the reason reorientation team wherein described Arrange and occur by the amount of bytes from the reorientation queue processing.
7. method according to claim 5, further comprises:
The second weighting to being assigned to the user data queue is proportional to be located in the reason user data queue so that described the The ratio of one weighting and the described second weighting is kept.
8. method according to claim 3, wherein each SSD in one group of SSD, which has, individually reads reorientation Queue, and wherein described first weighting is assigned to the write-in reorientation write-in queue being shared in one group of SSD.
9. method according to claim 8, wherein first weighting is in response to read requests in the reading queue Number exceedes threshold value and changed.
10. a kind of method, including:
Multiple write requests for one or more logic units (LUN) are received with incoming speed, each write request has Data and it is processed at the node of cluster, the node, which has memory and is linked to solid-state driving (SSD), to be deposited Store up array;
The data of each write request are stored in first across one group of SSD as one or more user data extent In segmentation, first segmentation has log-structured layout;
Track the amount of free space of first segmentation;
Tracking is reoriented to the amount of bytes of the second segmentation across one group of SSD from the described first segmentation;
By using the amount of free space and the reorientation amount of bytes calculation error, to set byte from described first point Section is reoriented to the expected rate of second segmentation;And
Control reorientation queue is to keep the expected rate removed, wherein resetting bit byte is enqueued onto the reorientation team Row.
11. a kind of system, including:
Storage system, the storage system has the memory that processor is connected to via bus;
Storage array, the storage array is coupled to storage system and with one or more solid-states driving (SSD);
I/O stacks are stored, the storage I/O stacks are performed on the processor of the storage system, and the storage I/O stacks are being held It can be used to during row:
Multiple write requests for one or more logic units (LUN) are received with incoming speed, each write request has Data;
The data of each write request are stored in first across one group of SSD as one or more user data extent In segmentation, first segmentation has log-structured layout;And
The clearance rate is controlled by the way that the speed for removing first segmentation is substantially matched into the incoming speed.
12. system according to claim 11, wherein I/O stacks are further operable is used for for the storage:
Track the percentage of the free space of first segmentation;
Tracking is reoriented to the percentage of the byte of the second segmentation, described second across one group of SSD from the described first segmentation Segmentation has the log-structured layout;And
By subtracting the percentage of the free space from the percentage for resetting bit byte come calculation error.
13. system according to claim 12, wherein I/O stacks are further operable is used for for the storage:
The first weighting to being assigned to reorientation queue is proportional to be located in the reason reorientation queue, and described first weights and use institute The error of calculating determines, wherein the byte for being reoriented to second segmentation from the described first segmentation be enqueued onto it is described heavy Position queue.
14. system according to claim 12, wherein the error responses calculated are in the percentage of the free space Change exceed threshold value and calculated.
15. system according to claim 13, wherein the data of each write request are enqueued onto and reset with described The user data queue of position queue separation.
16. method according to claim 3, proportional to the described first weighting it is located in the reason reorientation team wherein described Arrange and occur by the amount of bytes from the reorientation queue processing.
17. system according to claim 15, wherein I/O stacks are further operable is used for for the storage:
The second weighting to being assigned to the user data queue is proportional to be located in the reason user data queue so that described the The ratio of one weighting and the described second weighting is kept.
18. system according to claim 13, wherein there is each SSD in one group of SSD individually reading to reset Position queue, and wherein described first weighting is assigned to the write-in queue being shared in one group of SSD.
19. system according to claim 18, wherein first weighting is in response to read requests in the reading queue Number exceed threshold value and changed.
20. system according to claim 18, wherein be assigned to first weighting of each write-in queue in response to The number for resetting bit manipulation that is distributed and changed.
CN201580049232.9A 2014-09-12 2015-09-08 For balancing segmentation removing and the rate-matched technology of I/O workloads Pending CN107077300A (en)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US14/484,565 2014-09-12
US14/484,565 US9671960B2 (en) 2014-09-12 2014-09-12 Rate matching technique for balancing segment cleaning and I/O workload
PCT/US2015/048800 WO2016040233A1 (en) 2014-09-12 2015-09-08 Rate matching technique for balancing segment cleaning and i/o workload

Publications (1)

Publication Number Publication Date
CN107077300A true CN107077300A (en) 2017-08-18

Family

ID=54207719

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201580049232.9A Pending CN107077300A (en) 2014-09-12 2015-09-08 For balancing segmentation removing and the rate-matched technology of I/O workloads

Country Status (4)

Country Link
US (2) US9671960B2 (en)
EP (1) EP3191932A1 (en)
CN (1) CN107077300A (en)
WO (1) WO2016040233A1 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107832008A (en) * 2017-10-25 2018-03-23 记忆科技(深圳)有限公司 A kind of method of raising SSD write performance uniformity
CN112506429A (en) * 2020-11-30 2021-03-16 杭州海康威视系统技术有限公司 Method, device and equipment for deleting processing and storage medium

Families Citing this family (38)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9652382B1 (en) * 2014-09-04 2017-05-16 Sk Hynix Memory Solutions Inc. Look-ahead garbage collection for NAND flash based storage
US9507526B2 (en) * 2014-11-14 2016-11-29 Netapp, Inc. Just-in time remote data storage allocation
US10841360B2 (en) 2014-12-08 2020-11-17 Umbra Technologies Ltd. System and method for content retrieval from remote network regions
US9519429B2 (en) * 2014-12-09 2016-12-13 Intel Corporation Techniques to manage multiple sequential write streams to a solid state drive
EP3243314A4 (en) 2015-01-06 2018-09-05 Umbra Technologies Ltd. System and method for neutral application programming interface
JP2018507639A (en) 2015-01-28 2018-03-15 アンブラ テクノロジーズ リミテッドUmbra Technologies Ltd. System and method for global virtual network
US10621143B2 (en) * 2015-02-06 2020-04-14 Ashish Govind Khurange Methods and systems of a dedupe file-system garbage collection
JP6455229B2 (en) * 2015-03-02 2019-01-23 富士通株式会社 Storage device, read storage device determination method, read storage device determination program, and storage system
EP3281368B1 (en) 2015-04-07 2020-05-06 Umbra Technologies Ltd. Network system having virtual interfaces and a routing module for a virtual network
US10235104B1 (en) * 2015-09-30 2019-03-19 EMC IP Holding Company LLC IO request system and method
KR102467032B1 (en) 2015-10-08 2022-11-14 삼성전자주식회사 Memory scheduling method and Memory system operating method
US10412155B2 (en) * 2015-10-29 2019-09-10 Capital One Services, Llc Automated server workload management using machine learning
CN108293063B (en) 2015-12-11 2022-05-24 安博科技有限公司 System and method for information slingshot on network tapestry and instant granularity
US11455097B2 (en) 2016-01-28 2022-09-27 Weka.IO Ltd. Resource monitoring in a distributed storage system
US9880743B1 (en) * 2016-03-31 2018-01-30 EMC IP Holding Company LLC Tracking compressed fragments for efficient free space management
US9985891B2 (en) * 2016-04-07 2018-05-29 Oracle International Corporation Congestion management in distributed systems using autonomous self-regulation
ES2903130T3 (en) 2016-04-26 2022-03-31 Umbra Tech Ltd Network Slinghop Implemented Using Tapestry Slingshot
US10048874B1 (en) * 2016-06-29 2018-08-14 EMC IP Holding Company LLC Flow control with a dynamic window in a storage system with latency guarantees
US10642763B2 (en) 2016-09-20 2020-05-05 Netapp, Inc. Quality of service policy sets
US10191662B2 (en) * 2016-10-04 2019-01-29 Pure Storage, Inc. Dynamic allocation of segments in a flash storage system
KR102642689B1 (en) * 2016-11-16 2024-03-05 삼성전자주식회사 Electronic Apparatus and the Method for Controlling Traffic thereof
US11947814B2 (en) 2017-06-11 2024-04-02 Pure Storage, Inc. Optimizing resiliency group formation stability
US10852951B1 (en) * 2017-10-18 2020-12-01 EMC IP Holding Company, LLC System and method for improving I/O performance by introducing extent pool level I/O credits and user I/O credits throttling on Mapped RAID
US10852966B1 (en) * 2017-10-18 2020-12-01 EMC IP Holding Company, LLC System and method for creating mapped RAID group during expansion of extent pool
US10678436B1 (en) * 2018-05-29 2020-06-09 Pure Storage, Inc. Using a PID controller to opportunistically compress more data during garbage collection
US11520514B2 (en) 2018-09-06 2022-12-06 Pure Storage, Inc. Optimized relocation of data based on data characteristics
US11500570B2 (en) 2018-09-06 2022-11-15 Pure Storage, Inc. Efficient relocation of data utilizing different programming modes
US10817430B2 (en) 2018-10-02 2020-10-27 Micron Technology, Inc. Access unit and management segment memory operations
US11023354B2 (en) * 2018-11-02 2021-06-01 Dell Products L.P. Hyper-converged infrastructure (HCI) log system
CN109814805B (en) * 2018-12-25 2020-08-25 华为技术有限公司 Stripe reorganization method in storage system and stripe server
US11055218B2 (en) 2019-03-13 2021-07-06 Samsung Electronics Co., Ltd. Apparatus and methods for accelerating tasks during storage caching/tiering in a computing environment
US10963378B2 (en) 2019-03-19 2021-03-30 International Business Machines Corporation Dynamic capacity allocation of stripes in cluster based storage systems
CN110691118A (en) * 2019-08-30 2020-01-14 许昌许继软件技术有限公司 Service selection method and device in micro-service cluster
KR20210045029A (en) * 2019-10-16 2021-04-26 에스케이하이닉스 주식회사 Memory system, memory controller, and operating method
US11681448B2 (en) 2020-09-08 2023-06-20 Pure Storage, Inc. Multiple device IDs in a multi-fabric module storage system
US11513720B1 (en) * 2021-06-11 2022-11-29 Western Digital Technologies, Inc. Data storage device having predictive analytics
US11832410B2 (en) 2021-09-14 2023-11-28 Pure Storage, Inc. Mechanical energy absorbing bracket apparatus
US11954079B2 (en) * 2022-06-15 2024-04-09 Dell Products L.P. Inline deduplication for CKD using hash table for CKD track meta data

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1936818A (en) * 2005-09-22 2007-03-28 株式会社日立制作所 Storage control apparatus, data management system and data management method
CN103399796A (en) * 2006-12-12 2013-11-20 Lsi公司 Balancing of clustered virtual machines using storage load information
CN103534996A (en) * 2012-11-29 2014-01-22 华为技术有限公司 Method and device for implementing load balance
US20140181370A1 (en) * 2012-12-21 2014-06-26 Lsi Corporation Method to apply fine grain wear leveling and garbage collection
US8832363B1 (en) * 2014-01-17 2014-09-09 Netapp, Inc. Clustered RAID data organization

Family Cites Families (443)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5459857A (en) 1992-05-15 1995-10-17 Storage Technology Corporation Fault tolerant disk array data storage subsystem
US5511190A (en) 1995-01-20 1996-04-23 Tandem Computers, Inc. Hash-based database grouping system and method
US5666512A (en) 1995-02-10 1997-09-09 Hewlett-Packard Company Disk array having hot spare resources and methods for using hot spare resources to store user data
US5991862A (en) 1996-12-30 1999-11-23 Sun Microsystems, Inc. Modified indirect addressing for file system
US6862602B2 (en) 1997-03-07 2005-03-01 Apple Computer, Inc. System and method for rapidly identifying the existence and location of an item in a file
US6257756B1 (en) 1997-07-16 2001-07-10 Motorola, Inc. Apparatus and method for implementing viterbi butterflies
US5937425A (en) 1997-10-16 1999-08-10 M-Systems Flash Disk Pioneers Ltd. Flash file system optimized for page-mode flash technologies
US6219800B1 (en) 1998-06-19 2001-04-17 At&T Corp. Fault-tolerant storage system
US6560196B1 (en) 1998-11-19 2003-05-06 Cisco Technology, Inc. Method and apparatus for controlling the transmission of cells across a network
US6347337B1 (en) 1999-01-08 2002-02-12 Intel Corporation Credit based flow control scheme over virtual interface architecture for system area networks
US6275898B1 (en) 1999-05-13 2001-08-14 Lsi Logic Corporation Methods and structure for RAID level migration within a logical unit
US6876668B1 (en) 1999-05-24 2005-04-05 Cisco Technology, Inc. Apparatus and methods for dynamic bandwidth allocation
AU6104800A (en) 1999-07-16 2001-02-05 Intertrust Technologies Corp. Trusted storage systems and methods
US6578158B1 (en) 1999-10-28 2003-06-10 International Business Machines Corporation Method and apparatus for providing a raid controller having transparent failover and failback
US6434662B1 (en) 1999-11-02 2002-08-13 Juniper Networks, Inc. System and method for searching an associative memory utilizing first and second hash functions
US6604155B1 (en) 1999-11-09 2003-08-05 Sun Microsystems, Inc. Storage architecture employing a transfer node to achieve scalable performance
US6779003B1 (en) 1999-12-16 2004-08-17 Livevault Corporation Systems and methods for backing up data files
US6609176B1 (en) 1999-12-27 2003-08-19 Kabushiki Kaisha Toshiba Disk control system and data rearrangement method
US6741698B1 (en) 2000-01-27 2004-05-25 Avaya Technology Corp. Call management system using dynamic threshold adjustment
US6526478B1 (en) 2000-02-02 2003-02-25 Lsi Logic Corporation Raid LUN creation using proportional disk mapping
US6990606B2 (en) 2000-07-28 2006-01-24 International Business Machines Corporation Cascading failover of a data management application for shared disk file systems in loosely coupled node clusters
JP2005530242A (en) 2000-09-11 2005-10-06 アガミ システムズ, インコーポレイテッド Storage system having partitioned movable metadata
GB0025226D0 (en) 2000-10-14 2000-11-29 Ibm Data storage system and method of storing data
US6950901B2 (en) 2001-01-05 2005-09-27 International Business Machines Corporation Method and apparatus for supporting parity protection in a RAID clustered environment
US6799258B1 (en) 2001-01-10 2004-09-28 Datacore Software Corporation Methods and apparatus for point-in-time volumes
US6990667B2 (en) 2001-01-29 2006-01-24 Adaptec, Inc. Server-independent object positioning for load balancing drives and servers
US6862692B2 (en) 2001-01-29 2005-03-01 Adaptec, Inc. Dynamic redistribution of parity groups
WO2002065249A2 (en) 2001-02-13 2002-08-22 Candera, Inc. Storage virtualization and storage management to provide higher level storage services
JP4700204B2 (en) 2001-03-07 2011-06-15 株式会社日立製作所 Storage management data control system
US7542419B2 (en) 2001-04-02 2009-06-02 International Business Machines Corporation Method and apparatus for managing aggregate bandwidth at a server
US7167965B2 (en) 2001-04-30 2007-01-23 Hewlett-Packard Development Company, L.P. Method and system for online data migration on storage systems with performance guarantees
US7133876B2 (en) 2001-06-12 2006-11-07 The University Of Maryland College Park Dwarf cube architecture for reducing storage sizes of multidimensional data
US7543100B2 (en) 2001-06-18 2009-06-02 3Par, Inc. Node controller for a data storage system
US20030005147A1 (en) 2001-06-29 2003-01-02 Enns Daniel Albert IP/HDLC addressing system for replacing frame relay based systems and method therefor
US7249150B1 (en) 2001-07-03 2007-07-24 Network Appliance, Inc. System and method for parallelized replay of an NVRAM log in a storage appliance
US6912645B2 (en) 2001-07-19 2005-06-28 Lucent Technologies Inc. Method and apparatus for archival data storage
US7174379B2 (en) 2001-08-03 2007-02-06 International Business Machines Corporation Managing server resources for hosted applications
US7366134B2 (en) 2001-08-17 2008-04-29 Comsat Corporation Dynamic allocation of network resources in a multiple-user communication system
US20040054656A1 (en) 2001-08-31 2004-03-18 Arkivio, Inc. Techniques for balancing capacity utilization in a storage environment
US7113980B2 (en) 2001-09-06 2006-09-26 Bea Systems, Inc. Exactly once JMS communication
US6895500B1 (en) 2001-10-31 2005-05-17 Western Digital Technologies, Inc. Disk drive for receiving setup data in a self monitoring analysis and reporting technology (SMART) command
US7437472B2 (en) 2001-11-28 2008-10-14 Interactive Content Engines, Llc. Interactive broadband server system
US6785771B2 (en) 2001-12-04 2004-08-31 International Business Machines Corporation Method, system, and program for destaging data in cache
US20030115204A1 (en) 2001-12-14 2003-06-19 Arkivio, Inc. Structure of policy information for storage, network and data management applications
US20030135729A1 (en) 2001-12-14 2003-07-17 I/O Integrity, Inc. Apparatus and meta data caching method for optimizing server startup performance
US7055058B2 (en) 2001-12-26 2006-05-30 Boon Storage Technologies, Inc. Self-healing log-structured RAID
US7047358B2 (en) 2001-12-26 2006-05-16 Boon Storage Technologies, Inc. High-performance log-structured RAID
US20030120869A1 (en) 2001-12-26 2003-06-26 Lee Edward K. Write-back disk cache management
US7177868B2 (en) 2002-01-02 2007-02-13 International Business Machines Corporation Method, system and program for direct client file access in a data management system
US7096328B2 (en) 2002-01-25 2006-08-22 University Of Southern California Pseudorandom data storage
US6748504B2 (en) 2002-02-15 2004-06-08 International Business Machines Corporation Deferred copy-on-write of a snapshot
TW564349B (en) 2002-02-27 2003-12-01 Acer Labs Inc Method and related apparatus for controlling transmission interface of external device of computer system
US6801905B2 (en) 2002-03-06 2004-10-05 Sybase, Inc. Database system providing methodology for property enforcement
US6993539B2 (en) 2002-03-19 2006-01-31 Network Appliance, Inc. System and method for determining changes in two snapshots and for transmitting changes to destination snapshot
US7093086B1 (en) 2002-03-28 2006-08-15 Veritas Operating Corporation Disaster recovery and backup using virtual machines
US7191357B2 (en) 2002-03-29 2007-03-13 Panasas, Inc. Hybrid quorum/primary-backup fault-tolerance model
US6820180B2 (en) 2002-04-04 2004-11-16 International Business Machines Corporation Apparatus and method of cascading backup logical volume mirrors
US7464125B1 (en) 2002-04-15 2008-12-09 Ibrix Inc. Checking the validity of blocks and backup duplicates of blocks during block reads
US7149846B2 (en) 2002-04-17 2006-12-12 Lsi Logic Corporation RAID protected external secondary memory
US6912635B2 (en) 2002-05-08 2005-06-28 Hewlett-Packard Development Company, L.P. Distributing workload evenly across storage media in a storage array
US7330430B2 (en) 2002-06-04 2008-02-12 Lucent Technologies Inc. Packet-based traffic shaping
US7096277B2 (en) 2002-08-07 2006-08-22 Intel Corporation Distributed lookup based on packet contents
US20040133590A1 (en) 2002-08-08 2004-07-08 Henderson Alex E. Tree data structure with range-specifying keys and associated methods and apparatuses
US7107385B2 (en) 2002-08-09 2006-09-12 Network Appliance, Inc. Storage virtualization by layering virtual disk objects on a file system
US7343524B2 (en) 2002-09-16 2008-03-11 Finisar Corporation Network analysis omniscent loop state machine
WO2004025476A1 (en) 2002-09-16 2004-03-25 Tigi Corporation Storage system architectures and multiple caching arrangements
US7668885B2 (en) 2002-09-25 2010-02-23 MindAgent, LLC System for timely delivery of personalized aggregations of, including currently-generated, knowledge
US8489742B2 (en) 2002-10-10 2013-07-16 Convergys Information Management Group, Inc. System and method for work management
US7457864B2 (en) 2002-11-27 2008-11-25 International Business Machines Corporation System and method for managing the performance of a computer system based on operational characteristics of the system components
US6928526B1 (en) 2002-12-20 2005-08-09 Datadomain, Inc. Efficient data storage system
US7065619B1 (en) 2002-12-20 2006-06-20 Data Domain, Inc. Efficient data storage system
US7110913B2 (en) 2002-12-23 2006-09-19 United Services Automobile Association (Usaa) Apparatus and method for managing the performance of an electronic device
US7263582B2 (en) 2003-01-07 2007-08-28 Dell Products L.P. System and method for raid configuration
US8499086B2 (en) 2003-01-21 2013-07-30 Dell Products L.P. Client load distribution
US7254648B2 (en) 2003-01-30 2007-08-07 Utstarcom, Inc. Universal broadband server system and method
EP1595197A2 (en) 2003-02-21 2005-11-16 Caringo, Inc. Additional hash functions in content-based addressing
US6904470B1 (en) 2003-03-26 2005-06-07 Emc Corporation Device selection by a disk adapter scheduler
US7394944B2 (en) 2003-04-11 2008-07-01 Seiko Epson Corporation Method and system for finding spatial medians in a sliding window environment
US7325059B2 (en) 2003-05-15 2008-01-29 Cisco Technology, Inc. Bounded index extensible hash-based IPv6 address lookup method
US7519725B2 (en) 2003-05-23 2009-04-14 International Business Machines Corporation System and method for utilizing informed throttling to guarantee quality of service to I/O streams
US7451168B1 (en) 2003-06-30 2008-11-11 Data Domain, Inc. Incremental garbage collection of data in a secondary storage
US7401103B2 (en) 2003-07-31 2008-07-15 Microsoft Corporation Replication protocol for data stores
US7181296B2 (en) 2003-08-06 2007-02-20 Asml Netherlands B.V. Method of adaptive interactive learning control and a lithographic manufacturing process and apparatus employing such a method
US8321955B2 (en) 2003-08-26 2012-11-27 Wu-Chang Feng Systems and methods for protecting against denial of service attacks
US20050076113A1 (en) 2003-09-12 2005-04-07 Finisar Corporation Network analysis sample management process
US7487235B2 (en) 2003-09-24 2009-02-03 Dell Products L.P. Dynamically varying a raid cache policy in order to optimize throughput
US7315866B2 (en) 2003-10-02 2008-01-01 Agency For Science, Technology And Research Method for incremental authentication of documents
US7451167B2 (en) 2003-10-24 2008-11-11 Network Appliance, Inc. Verification of file system log data using per-entry checksums
WO2005041474A1 (en) 2003-10-28 2005-05-06 The Foundation For The Promotion Of Industrial Science Authentication system, and remotely distributed storage system
ES2383998T3 (en) 2003-11-17 2012-06-28 Telecom Italia S.P.A. Architecture of quality of service supervision, related procedure, network and computer program product
WO2005057365A2 (en) 2003-12-08 2005-06-23 Ebay Inc. System to automatically regenerate software code
US8140860B2 (en) 2003-12-15 2012-03-20 International Business Machines Corporation Policy-driven file system with integrated RAID functionality
WO2005086631A2 (en) 2004-01-20 2005-09-22 Bae Systems Information And Electronic Systems Integration Inc. Multifunction receiver-on-chip for electronic warfare applications
US7701948B2 (en) 2004-01-20 2010-04-20 Nortel Networks Limited Metro ethernet service enhancements
US7321982B2 (en) 2004-01-26 2008-01-22 Network Appliance, Inc. System and method for takeover of partner resources in conjunction with coredump
US7849098B1 (en) 2004-02-06 2010-12-07 Vmware, Inc. Providing multiple concurrent access to a file system
US7373473B2 (en) 2004-03-10 2008-05-13 Leica Geosystems Hds Llc System and method for efficient storage and manipulation of extremely large amounts of scan data
US7395352B1 (en) 2004-03-12 2008-07-01 Netapp, Inc. Managing data replication relationships
US7415653B1 (en) 2004-04-21 2008-08-19 Sun Microsystems, Inc. Method and apparatus for vectored block-level checksum for file system data integrity
US7334095B1 (en) 2004-04-30 2008-02-19 Network Appliance, Inc. Writable clone of read-only volume
US7334094B2 (en) 2004-04-30 2008-02-19 Network Appliance, Inc. Online clone volume splitting technique
US7251663B1 (en) 2004-04-30 2007-07-31 Network Appliance, Inc. Method and apparatus for determining if stored memory range overlaps key memory ranges where the memory address space is organized in a tree form and partition elements for storing key memory ranges
US7536424B2 (en) 2004-05-02 2009-05-19 Yoram Barzilai System and methods for efficiently managing incremental data backup revisions
US20050246362A1 (en) 2004-05-03 2005-11-03 Borland Devin P System and method for dynamci log compression in a file system
US7409582B2 (en) 2004-05-06 2008-08-05 International Business Machines Corporation Low cost raid with seamless disk failure recovery
US7814064B2 (en) 2004-05-12 2010-10-12 Oracle International Corporation Dynamic distributed consensus algorithm
US7562101B1 (en) 2004-05-28 2009-07-14 Network Appliance, Inc. Block allocation testing
US8949395B2 (en) 2004-06-01 2015-02-03 Inmage Systems, Inc. Systems and methods of event driven recovery management
US7366865B2 (en) 2004-09-08 2008-04-29 Intel Corporation Enqueueing entries in a packet queue referencing packets
US7490084B2 (en) 2004-09-24 2009-02-10 Oracle Corporation Deferred incorporation of updates for spatial indexes
US20060075281A1 (en) 2004-09-27 2006-04-06 Kimmel Jeffrey S Use of application-level context information to detect corrupted data in a storage system
US20060072554A1 (en) 2004-09-29 2006-04-06 Fardad Farahmand Hierarchically organizing logical trunk groups in a packet-based network
US7257690B1 (en) 2004-10-15 2007-08-14 Veritas Operating Corporation Log-structured temporal shadow store
US8131926B2 (en) 2004-10-20 2012-03-06 Seagate Technology, Llc Generic storage container for allocating multiple data formats
US7376866B1 (en) 2004-10-22 2008-05-20 Network Appliance, Inc. Method and an apparatus to perform fast log replay
US7310704B1 (en) 2004-11-02 2007-12-18 Symantec Operating Corporation System and method for performing online backup and restore of volume configuration information
AU2005304792B2 (en) 2004-11-05 2010-07-08 Drobo, Inc. Storage system condition indicator and method
US7873782B2 (en) 2004-11-05 2011-01-18 Data Robotics, Inc. Filesystem-aware block storage system, apparatus, and method
US7403535B2 (en) 2004-12-14 2008-07-22 Hewlett-Packard Development Company, L.P. Aggregation of network resources providing offloaded connections between applications over a network
US8984140B2 (en) 2004-12-14 2015-03-17 Hewlett-Packard Development Company, L.P. Managing connections through an aggregation of network resources providing offloaded connections between applications over a network
EP1672831A1 (en) 2004-12-16 2006-06-21 Nagravision S.A. Method for transmission of digital data in a local network
US7386758B2 (en) 2005-01-13 2008-06-10 Hitachi, Ltd. Method and apparatus for reconstructing data in object-based storage arrays
US8180855B2 (en) 2005-01-27 2012-05-15 Netapp, Inc. Coordinated shared storage architecture
WO2006090367A2 (en) 2005-02-24 2006-08-31 Xeround Systems Ltd. Method and apparatus for distributed data management in a switching network
US7757056B1 (en) 2005-03-16 2010-07-13 Netapp, Inc. System and method for efficiently calculating storage required to split a clone volume
WO2006109307A2 (en) 2005-04-13 2006-10-19 Discretix Technologies Ltd. Method, device, and system of selectively accessing data
US8849767B1 (en) 2005-04-13 2014-09-30 Netapp, Inc. Method and apparatus for identifying and eliminating duplicate data blocks and sharing data blocks in a storage system
US8200887B2 (en) 2007-03-29 2012-06-12 Violin Memory, Inc. Memory management system and method
US8452929B2 (en) 2005-04-21 2013-05-28 Violin Memory Inc. Method and system for storage of data in non-volatile media
US7370048B2 (en) 2005-05-27 2008-05-06 International Business Machines Corporation File storage method and apparatus
US8028329B2 (en) 2005-06-13 2011-09-27 Iamsecureonline, Inc. Proxy authentication network
US7447868B2 (en) 2005-06-15 2008-11-04 International Business Machines Corporation Using vector processors to accelerate cache lookups
US8504521B2 (en) 2005-07-28 2013-08-06 Gopivotal, Inc. Distributed data management system
US7451348B2 (en) 2005-08-04 2008-11-11 Dot Hill Systems Corporation Dynamic write cache size adjustment in raid controller with capacitor backup energy source
CN101356506B (en) 2005-08-25 2014-01-08 晶像股份有限公司 Smart scalable storage switch architecture
US8259566B2 (en) 2005-09-20 2012-09-04 Qualcomm Incorporated Adaptive quality of service policy for dynamic networks
US7937473B2 (en) 2005-09-20 2011-05-03 Nec Corporation Resource-amount calculation system, and method and program thereof
US7366859B2 (en) 2005-10-06 2008-04-29 Acronis Inc. Fast incremental backup method and system
US20070083482A1 (en) 2005-10-08 2007-04-12 Unmesh Rathi Multiple quality of service file system
US7386675B2 (en) 2005-10-21 2008-06-10 Isilon Systems, Inc. Systems and methods for using excitement values to predict future access to resources
CN100370732C (en) 2005-11-04 2008-02-20 华为技术有限公司 Charge metering method and system
JP4766240B2 (en) 2005-11-08 2011-09-07 日本電気株式会社 File management method, apparatus, and program
US7640231B2 (en) 2005-11-16 2009-12-29 International Business Machines Corporation Approach based on self-evolving models for performance guarantees in a shared storage system
JP4738144B2 (en) 2005-11-28 2011-08-03 株式会社日立製作所 Information monitoring method, system and program
EP1793606A1 (en) 2005-12-05 2007-06-06 Microsoft Corporation Distribution of keys for encryption/decryption
US7752173B1 (en) 2005-12-16 2010-07-06 Network Appliance, Inc. Method and apparatus for improving data processing system performance by reducing wasted disk writes
US7546321B2 (en) 2005-12-19 2009-06-09 Yahoo! Inc. System and method for recovery from failure of a storage server in a distributed column chunk data store
US7716180B2 (en) 2005-12-29 2010-05-11 Amazon Technologies, Inc. Distributed storage system with web services client interface
US7529780B1 (en) 2005-12-30 2009-05-05 Google Inc. Conflict management during data object synchronization between client and server
US7673116B2 (en) 2006-01-17 2010-03-02 Advanced Micro Devices, Inc. Input/output memory management unit that implements memory attributes based on translation data
US20140108797A1 (en) 2006-01-26 2014-04-17 Unisys Corporation Storage communities of interest using cryptographic splitting
US7421551B2 (en) 2006-02-03 2008-09-02 Emc Corporation Fast verification of computer backup data
US8015441B2 (en) 2006-02-03 2011-09-06 Emc Corporation Verification of computer backup data
US20070208918A1 (en) 2006-03-01 2007-09-06 Kenneth Harbin Method and apparatus for providing virtual machine backup
US7739422B2 (en) 2006-03-21 2010-06-15 International Business Machines Corporation Method to improve system DMA mapping while substantially reducing memory fragmentation
US7603529B1 (en) 2006-03-22 2009-10-13 Emc Corporation Methods, systems, and computer program products for mapped logical unit (MLU) replications, storage, and retrieval in a redundant array of inexpensive disks (RAID) environment
US7647525B2 (en) 2006-03-31 2010-01-12 Emc Corporation Resumption of operations following failover in connection with triangular asynchronous replication
US8832045B2 (en) 2006-04-07 2014-09-09 Data Storage Group, Inc. Data compression and storage techniques
US8214868B2 (en) 2006-04-21 2012-07-03 Agere Systems Inc. Flexible traffic management and shaping processing for multimedia distribution
JP2007310772A (en) 2006-05-22 2007-11-29 Hitachi Ltd Storage system and communication control method
GB0610335D0 (en) 2006-05-24 2006-07-05 Oxford Semiconductor Ltd Redundant storage of data on an array of storage devices
JP5048760B2 (en) 2006-05-24 2012-10-17 コンペレント・テクノロジーズ System and method for RAID management, reallocation, and restriping
US9009199B2 (en) 2006-06-06 2015-04-14 Haskolinn I Reykjavik Data mining using an index tree created by recursive projection of data points on random lines
US8037319B1 (en) 2006-06-30 2011-10-11 Symantec Operating Corporation System and method for securely storing cryptographic keys with encrypted data
US7987167B1 (en) 2006-08-04 2011-07-26 Netapp, Inc. Enabling a clustered namespace with redirection
US20080065639A1 (en) 2006-08-25 2008-03-13 Netfortis, Inc. String matching engine
JP4839164B2 (en) 2006-09-15 2011-12-21 株式会社日立製作所 Performance evaluation system using hardware monitor and reconfigurable computer system
US7562203B2 (en) 2006-09-27 2009-07-14 Network Appliance, Inc. Storage defragmentation based on modified physical address and unmodified logical address
US8447872B2 (en) 2006-11-01 2013-05-21 Intel Corporation Load balancing in a storage system
US8719844B2 (en) 2006-11-27 2014-05-06 Morgan Stanley Merging realtime data flows
US7624231B2 (en) 2006-11-29 2009-11-24 International Business Machines Corporation Map based striping of data in a distributed volatile memory environment
US7620669B1 (en) 2006-12-15 2009-11-17 Netapp, Inc. System and method for enhancing log performance
US7996609B2 (en) 2006-12-20 2011-08-09 International Business Machines Corporation System and method of dynamic allocation of non-volatile memory
EP2095231B1 (en) 2006-12-22 2016-07-20 Hewlett-Packard Enterprise Development LP Computer system and method of control thereof
US8489811B1 (en) 2006-12-29 2013-07-16 Netapp, Inc. System and method for addressing data containers using data set identifiers
US8655939B2 (en) 2007-01-05 2014-02-18 Digital Doors, Inc. Electromagnetic pulse (EMP) hardened information infrastructure with extractor, cloud dispersal, secure storage, content analysis and classification and method therefor
US7912437B2 (en) 2007-01-09 2011-03-22 Freescale Semiconductor, Inc. Radio frequency receiver having dynamic bandwidth control and method of operation
KR101338409B1 (en) 2007-01-25 2013-12-10 삼성전자주식회사 Method and node for generating distributed rivest shamir adleman signature in ad-hoc network
US8380880B2 (en) 2007-02-02 2013-02-19 The Mathworks, Inc. Scalable architecture
US20080201535A1 (en) 2007-02-21 2008-08-21 Hitachi, Ltd. Method and Apparatus for Provisioning Storage Volumes
US8266116B2 (en) 2007-03-12 2012-09-11 Broadcom Corporation Method and apparatus for dual-hashing tables
US8135900B2 (en) 2007-03-28 2012-03-13 Kabushiki Kaisha Toshiba Integrated memory management and memory management method
US9632870B2 (en) 2007-03-29 2017-04-25 Violin Memory, Inc. Memory system with multiple striping of raid groups and method for performing the same
US8510524B1 (en) 2007-03-29 2013-08-13 Netapp, Inc. File system capable of generating snapshots and providing fast sequential read access
JP4448866B2 (en) 2007-03-30 2010-04-14 日立ビアメカニクス株式会社 Drawing device
US8209587B1 (en) 2007-04-12 2012-06-26 Netapp, Inc. System and method for eliminating zeroing of disk drives in RAID arrays
US8824686B1 (en) 2007-04-27 2014-09-02 Netapp, Inc. Cluster key synchronization
US7975109B2 (en) 2007-05-30 2011-07-05 Schooner Information Technology, Inc. System including a fine-grained memory and a less-fine-grained memory
JP4316636B2 (en) 2007-06-06 2009-08-19 株式会社東芝 Content distribution / browsing system, content distribution apparatus, content browsing apparatus, and program
US8082390B1 (en) 2007-06-20 2011-12-20 Emc Corporation Techniques for representing and storing RAID group consistency information
US9298417B1 (en) 2007-07-25 2016-03-29 Emc Corporation Systems and methods for facilitating management of data
US8024525B2 (en) 2007-07-25 2011-09-20 Digi-Data Corporation Storage control unit with memory cache protection via recorded log
US9336387B2 (en) 2007-07-30 2016-05-10 Stroz Friedberg, Inc. System, method, and computer program product for detecting access to a memory device
US7856437B2 (en) 2007-07-31 2010-12-21 Hewlett-Packard Development Company, L.P. Storing nodes representing respective chunks of files in a data store
US7949693B1 (en) 2007-08-23 2011-05-24 Osr Open Systems Resources, Inc. Log-structured host data storage
CN101803269B (en) 2007-09-18 2013-01-09 兴和株式会社 Serial data communication system and serial data communication method
US8185614B2 (en) 2007-10-09 2012-05-22 Cleversafe, Inc. Systems, methods, and apparatus for identifying accessible dispersed digital storage vaults utilizing a centralized registry
US7809701B2 (en) 2007-10-15 2010-10-05 Telefonaktiebolaget Lm Ericsson (Publ) Method and system for performing exact match searches using multiple hash tables
US7996636B1 (en) 2007-11-06 2011-08-09 Netapp, Inc. Uniquely identifying block context signatures in a storage volume hierarchy
US8074019B2 (en) 2007-11-13 2011-12-06 Network Appliance, Inc. Preventing data loss in a storage system
US7814276B2 (en) 2007-11-20 2010-10-12 Solid State System Co., Ltd. Data cache architecture and cache algorithm used therein
US20090150537A1 (en) 2007-12-10 2009-06-11 John Fanson Data communication method for a set of hard-real time applications within a network
US9292567B2 (en) 2007-12-12 2016-03-22 Oracle International Corporation Bulk matching with update
US8583865B1 (en) 2007-12-21 2013-11-12 Emc Corporation Caching with flash-based memory
US7797279B1 (en) 2007-12-31 2010-09-14 Emc Corporation Merging of incremental data streams with prior backed-up data
US8099554B1 (en) 2007-12-31 2012-01-17 Emc Corporation System and method for flash-based data caching
US8805949B2 (en) 2008-01-16 2014-08-12 Netapp, Inc. System and method for populating a cache using behavioral adaptive policies
US8078918B2 (en) 2008-02-07 2011-12-13 Siliconsystems, Inc. Solid state storage subsystem that maintains and provides access to data reflective of a failure risk
WO2009102425A1 (en) 2008-02-12 2009-08-20 Netapp, Inc. Hybrid media storage system architecture
JP2009199199A (en) 2008-02-20 2009-09-03 Hitachi Ltd Storage system and its data write method
JP4489127B2 (en) 2008-02-29 2010-06-23 株式会社東芝 Semiconductor memory device
US7873619B1 (en) 2008-03-31 2011-01-18 Emc Corporation Managing metadata
US8855318B1 (en) 2008-04-02 2014-10-07 Cisco Technology, Inc. Master key generation and distribution for storage area network devices
TWI476610B (en) 2008-04-29 2015-03-11 Maxiscale Inc Peer-to-peer redundant file server system and methods
US7971013B2 (en) 2008-04-30 2011-06-28 Xiotech Corporation Compensating for write speed differences between mirroring storage devices by striping
KR20090120159A (en) 2008-05-19 2009-11-24 삼성전자주식회사 Apparatus and method for combining images
US9547589B2 (en) 2008-06-18 2017-01-17 Super Talent Technology, Corp. Endurance translation layer (ETL) and diversion of temp files for reduced flash wear of a super-endurance solid-state drive
US8762654B1 (en) 2008-07-02 2014-06-24 Marvell International Ltd. Selectively scheduling memory accesses in parallel based on access speeds of memory
US8214404B2 (en) 2008-07-11 2012-07-03 Avere Systems, Inc. Media aware distributed data layout
US7979671B2 (en) 2008-07-28 2011-07-12 CacheIQ, Inc. Dual hash indexing system and methodology
US8250310B2 (en) 2008-07-31 2012-08-21 International Business Machines Corporation Assigning data to NVRAM of shared access hybrid hard drives
US8086799B2 (en) 2008-08-12 2011-12-27 Netapp, Inc. Scalable deduplication of stored data
US7987214B2 (en) 2008-08-29 2011-07-26 Tatu Ylonen Oy Determining the address range of a subtree of a linearized tree
US8127182B2 (en) 2008-09-16 2012-02-28 Lsi Corporation Storage utilization to improve reliability using impending failure triggers
US9098519B2 (en) 2008-09-16 2015-08-04 File System Labs Llc Methods and apparatus for distributed data storage
EP2350875A1 (en) 2008-09-19 2011-08-03 Oracle International Corporation Storage-side storage request management
US8321834B2 (en) 2008-09-25 2012-11-27 International Business Machines Corporation Framework for automatically merging customizations to structured code that has been refactored
US8799571B1 (en) 2008-09-26 2014-08-05 Emc Corporation System and method for configuring a device array upon detecting addition of a storage device
US9330172B2 (en) 2008-09-29 2016-05-03 Echostar Technologies Llc Audio/video archiving system and method
US8086585B1 (en) 2008-09-30 2011-12-27 Emc Corporation Access control to block storage devices for a shared disk based file system
US20100088296A1 (en) 2008-10-03 2010-04-08 Netapp, Inc. System and method for organizing data to facilitate data deduplication
CN102272731A (en) 2008-11-10 2011-12-07 弗森-艾奥公司 Apparatus, system, and method for predicting failures in solid-state storage
US9015209B2 (en) 2008-12-16 2015-04-21 Sandisk Il Ltd. Download management of discardable files
JP4766498B2 (en) 2008-12-24 2011-09-07 株式会社ソニー・コンピュータエンタテインメント Method and apparatus for providing user level DMA and memory access management
US8250116B2 (en) 2008-12-31 2012-08-21 Unisys Corporation KStore data simulator directives and values processor process and files
US8495417B2 (en) 2009-01-09 2013-07-23 Netapp, Inc. System and method for redundancy-protected aggregates
TWI432959B (en) 2009-01-23 2014-04-01 Infortrend Technology Inc Storage subsystem and storage system architecture performing storage virtualization and method thereof
US8407436B2 (en) 2009-02-11 2013-03-26 Hitachi, Ltd. Methods and apparatus for migrating thin provisioning volumes between storage systems
JP5376983B2 (en) 2009-02-12 2013-12-25 株式会社東芝 Memory system
US8520855B1 (en) 2009-03-05 2013-08-27 University Of Washington Encapsulation and decapsulation for data disintegration
US8862066B2 (en) 2009-03-25 2014-10-14 Nec Corporation Providing suppressing degradation of throughput of communication device, recording medium for control program of communication device, communication system and communication method
US8205065B2 (en) 2009-03-30 2012-06-19 Exar Corporation System and method for data deduplication
US8271615B2 (en) 2009-03-31 2012-09-18 Cloud Connex, Llc Centrally managing and monitoring software as a service (SaaS) applications
US9940138B2 (en) 2009-04-08 2018-04-10 Intel Corporation Utilization of register checkpointing mechanism with pointer swapping to resolve multithreading mis-speculations
US8996468B1 (en) 2009-04-17 2015-03-31 Dell Software Inc. Block status mapping system for reducing virtual machine backup storage
US8560879B1 (en) 2009-04-22 2013-10-15 Netapp Inc. Data recovery for failed memory device of memory device array
US8156290B1 (en) 2009-04-23 2012-04-10 Network Appliance, Inc. Just-in-time continuous segment cleaning
US8402069B2 (en) 2009-05-04 2013-03-19 Microsoft Corporation Use of delete notifications by file systems and applications to release storage space
US8166233B2 (en) 2009-07-24 2012-04-24 Lsi Corporation Garbage collection for solid state disks
US20100293147A1 (en) 2009-05-12 2010-11-18 Harvey Snow System and method for providing automated electronic information backup, storage and recovery
JP2010282281A (en) 2009-06-02 2010-12-16 Hitachi Ltd Disk array device, control method therefor, and program
US8478799B2 (en) 2009-06-26 2013-07-02 Simplivity Corporation Namespace file system accessing an object store
US8219562B1 (en) 2009-06-29 2012-07-10 Facebook, Inc. Efficient storage and retrieval for large number of data objects
US9377960B2 (en) 2009-07-29 2016-06-28 Hgst Technologies Santa Ana, Inc. System and method of using stripes for recovering data in a flash storage system
US8255620B2 (en) 2009-08-11 2012-08-28 Texas Memory Systems, Inc. Secure Flash-based memory system with fast wipe feature
US7818525B1 (en) 2009-08-12 2010-10-19 Texas Memory Systems, Inc. Efficient reduction of read disturb errors in NAND FLASH memory
WO2011031796A2 (en) 2009-09-08 2011-03-17 Fusion-Io, Inc. Apparatus, system, and method for caching data on a solid-state storage device
US9280609B2 (en) 2009-09-08 2016-03-08 Brocade Communications Systems, Inc. Exact match lookup scheme
US20120166749A1 (en) 2009-09-08 2012-06-28 International Business Machines Corporation Data management in solid-state storage devices and tiered storage systems
US8601222B2 (en) 2010-05-13 2013-12-03 Fusion-Io, Inc. Apparatus, system, and method for conditional and atomic storage operations
US9122579B2 (en) 2010-01-06 2015-09-01 Intelligent Intellectual Property Holdings 2 Llc Apparatus, system, and method for a storage layer
US8712972B2 (en) 2009-09-22 2014-04-29 Sybase, Inc. Query optimization with awareness of limited resource usage
US8266501B2 (en) 2009-09-29 2012-09-11 Micron Technology, Inc. Stripe based memory operation
JP5170055B2 (en) 2009-10-09 2013-03-27 富士通株式会社 Processing method, storage system, information processing apparatus, and program
US8285955B2 (en) 2009-10-16 2012-10-09 Lenovo (Singapore) Pte. Ltd. Method and apparatus for automatic solid state drive performance recovery
US8285956B2 (en) 2009-10-22 2012-10-09 Symantec Corporation Efficient logging for asynchronously replicating volume groups
US7954021B2 (en) 2009-10-23 2011-05-31 International Business Machines Corporation Solid state drive with flash sparing
US8321648B2 (en) 2009-10-26 2012-11-27 Netapp, Inc Use of similarity hash to route data for improved deduplication in a storage server cluster
US8918897B2 (en) 2009-11-24 2014-12-23 Cleversafe, Inc. Dispersed storage network data slice integrity verification
US8417987B1 (en) 2009-12-01 2013-04-09 Netapp, Inc. Mechanism for correcting errors beyond the fault tolerant level of a raid array in a storage system
US8156306B1 (en) 2009-12-18 2012-04-10 Emc Corporation Systems and methods for using thin provisioning to reclaim space identified by data reduction processes
US8140821B1 (en) 2009-12-18 2012-03-20 Emc Corporation Efficient read/write algorithms and associated mapping for block-level data reduction processes
US8090977B2 (en) 2009-12-21 2012-01-03 Intel Corporation Performing redundant memory hopping
US8560598B2 (en) 2009-12-22 2013-10-15 At&T Intellectual Property I, L.P. Integrated adaptive anycast for content distribution
US8086896B2 (en) 2009-12-28 2011-12-27 International Business Machines Corporation Dynamically tracking virtual logical storage units
US8468368B2 (en) 2009-12-29 2013-06-18 Cleversafe, Inc. Data encryption parameter dispersal
US8555022B1 (en) 2010-01-06 2013-10-08 Netapp, Inc. Assimilation of foreign LUNS into a network storage system
US9058119B1 (en) 2010-01-11 2015-06-16 Netapp, Inc. Efficient data migration
WO2011090500A1 (en) 2010-01-19 2011-07-28 Rether Networks Inc. Random write optimization techniques for flash disks
US20110191522A1 (en) 2010-02-02 2011-08-04 Condict Michael N Managing Metadata and Page Replacement in a Persistent Cache in Flash Memory
US8244978B2 (en) 2010-02-17 2012-08-14 Advanced Micro Devices, Inc. IOMMU architected TLB support
US9311184B2 (en) 2010-02-27 2016-04-12 Cleversafe, Inc. Storing raid data as encoded data slices in a dispersed storage network
US8671265B2 (en) 2010-03-05 2014-03-11 Solidfire, Inc. Distributed data storage system providing de-duplication of data using block identifiers
US8341457B2 (en) 2010-03-11 2012-12-25 Lsi Corporation System and method for optimizing redundancy restoration in distributed data layout environments
US20110238857A1 (en) 2010-03-29 2011-09-29 Amazon Technologies, Inc. Committed processing rates for shared resources
US8700949B2 (en) 2010-03-30 2014-04-15 International Business Machines Corporation Reliability scheme using hybrid SSD/HDD replication with log structured management
US8856593B2 (en) 2010-04-12 2014-10-07 Sandisk Enterprise Ip Llc Failure recovery using consensus replication in a distributed flash memory system
US8463825B1 (en) 2010-04-27 2013-06-11 Tintri Inc. Hybrid file system for virtual machine storage
US20110283048A1 (en) 2010-05-11 2011-11-17 Seagate Technology Llc Structured mapping system for a memory device
US8224935B1 (en) 2010-05-12 2012-07-17 Symantec Corporation Systems and methods for efficiently synchronizing configuration data within distributed computing systems
US8621580B2 (en) 2010-05-19 2013-12-31 Cleversafe, Inc. Retrieving access information in a dispersed storage network
US9355109B2 (en) 2010-06-11 2016-05-31 The Research Foundation For The State University Of New York Multi-tier caching
US8621269B2 (en) 2010-06-22 2013-12-31 Cleversafe, Inc. Identifying a slice name information error in a dispersed storage network
US8327103B1 (en) 2010-06-28 2012-12-04 Emc Corporation Scheduling data relocation activities using configurable fairness criteria
US20120011176A1 (en) 2010-07-07 2012-01-12 Nexenta Systems, Inc. Location independent scalable file and block storage
US10162722B2 (en) 2010-07-15 2018-12-25 Veritas Technologies Llc Virtual machine aware replication method and system
WO2012025974A1 (en) 2010-08-23 2012-03-01 富士通株式会社 Data storage device and control method for data storage device
US8837281B2 (en) 2010-09-10 2014-09-16 Futurewei Technologies, Inc. Use of partitions to reduce flooding and filtering database size requirements in large layer two networks
US8589625B2 (en) 2010-09-15 2013-11-19 Pure Storage, Inc. Scheduling of reconstructive I/O read operations in a storage environment
US8732426B2 (en) 2010-09-15 2014-05-20 Pure Storage, Inc. Scheduling of reactive I/O operations in a storage environment
JP5388976B2 (en) 2010-09-22 2014-01-15 株式会社東芝 Semiconductor memory control device
US8463991B2 (en) 2010-09-28 2013-06-11 Pure Storage Inc. Intra-device data protection in a raid array
US8775868B2 (en) 2010-09-28 2014-07-08 Pure Storage, Inc. Adaptive RAID for an SSD environment
US9348696B2 (en) 2010-10-01 2016-05-24 Pure Storage, Inc. Distributed multi-level protection in a raid array based storage system
US9104326B2 (en) 2010-11-15 2015-08-11 Emc Corporation Scalable block data storage using content addressing
US8706701B1 (en) 2010-11-18 2014-04-22 Emc Corporation Scalable cloud file system with efficient integrity checks
US8583599B2 (en) 2010-11-29 2013-11-12 Ca, Inc. Reducing data duplication in cloud storage
US8880554B2 (en) 2010-12-03 2014-11-04 Futurewei Technologies, Inc. Method and apparatus for high performance, updatable, and deterministic hash table for network equipment
KR101638436B1 (en) 2010-12-10 2016-07-12 한국전자통신연구원 Cloud storage and management method thereof
US8271462B2 (en) 2010-12-10 2012-09-18 Inventec Corporation Method for creating a index of the data blocks
US9208071B2 (en) 2010-12-13 2015-12-08 SanDisk Technologies, Inc. Apparatus, system, and method for accessing memory
EP2652623B1 (en) 2010-12-13 2018-08-01 SanDisk Technologies LLC Apparatus, system, and method for auto-commit memory
US10817421B2 (en) 2010-12-13 2020-10-27 Sandisk Technologies Llc Persistent data structures
US10817502B2 (en) 2010-12-13 2020-10-27 Sandisk Technologies Llc Persistent memory management
US8595595B1 (en) 2010-12-27 2013-11-26 Netapp, Inc. Identifying lost write errors in a raid array
US8924354B2 (en) 2011-02-01 2014-12-30 Ca, Inc. Block level data replication
CN102651009B (en) 2011-02-28 2014-09-24 国际商业机器公司 Method and equipment for retrieving data in storage system
WO2012124100A1 (en) 2011-03-17 2012-09-20 富士通株式会社 Information processing device, storage system and write control method
US8966191B2 (en) 2011-03-18 2015-02-24 Fusion-Io, Inc. Logical interface for contextual storage
US9563555B2 (en) 2011-03-18 2017-02-07 Sandisk Technologies Llc Systems and methods for storage allocation
KR101717081B1 (en) 2011-03-23 2017-03-28 삼성전자주식회사 Storage device comprising a buffer memory by using a nonvolatile-ram and volatile-ram
US8538029B2 (en) 2011-03-24 2013-09-17 Hewlett-Packard Development Company, L.P. Encryption key fragment distribution
JP4996757B1 (en) 2011-03-29 2012-08-08 株式会社東芝 Secret sharing system, apparatus and program
US8539008B2 (en) 2011-04-29 2013-09-17 Netapp, Inc. Extent-based storage architecture
US8996790B1 (en) 2011-05-12 2015-03-31 Densbits Technologies Ltd. System and method for flash memory management
US8806122B2 (en) 2011-05-23 2014-08-12 International Business Machines Corporation Caching data in a storage system having multiple caches including non-volatile storage cache in a sequential access storage device
US8949568B2 (en) 2011-05-24 2015-02-03 Agency For Science, Technology And Research Memory storage device, and a related zone-based block management and mapping method
US8990536B2 (en) 2011-06-01 2015-03-24 Schneider Electric It Corporation Systems and methods for journaling and executing device control instructions
US8782439B2 (en) 2011-06-06 2014-07-15 Cleversafe, Inc. Securing a data segment for storage
US8838895B2 (en) 2011-06-09 2014-09-16 21Vianet Group, Inc. Solid-state disk caching the top-K hard-disk blocks selected as a function of access frequency and a logarithmic system time
US9383928B2 (en) 2011-06-13 2016-07-05 Emc Corporation Replication techniques with content addressable storage
US9639591B2 (en) 2011-06-13 2017-05-02 EMC IP Holding Company LLC Low latency replication techniques with content addressable storage
US20120317084A1 (en) 2011-06-13 2012-12-13 Beijing Z&W Technology Consulting Co., Ltd. Method and system for achieving data de-duplication on a block-level storage virtualization device
US9292530B2 (en) 2011-06-14 2016-03-22 Netapp, Inc. Object-level identification of duplicate data in a storage system
US8600949B2 (en) 2011-06-21 2013-12-03 Netapp, Inc. Deduplication in an extent-based architecture
US8261085B1 (en) 2011-06-22 2012-09-04 Media Patents, S.L. Methods, apparatus and systems to improve security in computer systems
US8572164B2 (en) 2011-06-30 2013-10-29 Hitachi, Ltd. Server system and method for controlling information system
US8917872B2 (en) 2011-07-06 2014-12-23 Hewlett-Packard Development Company, L.P. Encryption key storage with key fragment stores
US20130019057A1 (en) 2011-07-15 2013-01-17 Violin Memory, Inc. Flash disk array and controller
US8806160B2 (en) 2011-08-16 2014-08-12 Pure Storage, Inc. Mapping in a storage system
US8788788B2 (en) 2011-08-11 2014-07-22 Pure Storage, Inc. Logical sector mapping in a flash storage array
US8527544B1 (en) 2011-08-11 2013-09-03 Pure Storage Inc. Garbage collection in a storage system
US8930307B2 (en) 2011-09-30 2015-01-06 Pure Storage, Inc. Method for removing duplicate data from a storage array
KR20130027253A (en) 2011-09-07 2013-03-15 삼성전자주식회사 Method for compressing data
US10223375B2 (en) 2011-09-20 2019-03-05 Netapp, Inc. Handling data extent size asymmetry during logical replication in a storage system
US10311027B2 (en) 2011-09-23 2019-06-04 Open Invention Network, Llc System for live-migration and automated recovery of applications in a distributed system
US20130080679A1 (en) 2011-09-26 2013-03-28 Lsi Corporation System and method for optimizing thermal management for a storage controller cache
US8943032B1 (en) 2011-09-30 2015-01-27 Emc Corporation System and method for data migration using hybrid modes
US8751657B2 (en) 2011-10-04 2014-06-10 Hitachi, Ltd. Multi-client storage system and storage system management method
US8949197B2 (en) 2011-10-31 2015-02-03 Oracle International Corporation Virtual full backups
US9009449B2 (en) 2011-11-10 2015-04-14 Oracle International Corporation Reducing power consumption and resource utilization during miss lookahead
US8990495B2 (en) 2011-11-15 2015-03-24 Emc Corporation Method and system for storing data in raid memory devices
CN102364474B (en) 2011-11-17 2014-08-20 中国科学院计算技术研究所 Metadata storage system for cluster file system and metadata management method
US9203625B2 (en) 2011-11-28 2015-12-01 Cleversafe, Inc. Transferring encoded data slices in a distributed storage network
US20130138615A1 (en) 2011-11-29 2013-05-30 International Business Machines Corporation Synchronizing updates across cluster filesystems
US9274838B2 (en) 2011-12-22 2016-03-01 Netapp, Inc. Dynamic instantiation and management of virtual caching appliances
US9838269B2 (en) 2011-12-27 2017-12-05 Netapp, Inc. Proportional quality of service based on client usage and system metrics
US9054992B2 (en) 2011-12-27 2015-06-09 Solidfire, Inc. Quality of service policy sets
US9003021B2 (en) 2011-12-27 2015-04-07 Solidfire, Inc. Management of storage system access based on client performance and cluser health
US8799705B2 (en) 2012-01-04 2014-08-05 Emc Corporation Data protection in a random access disk array
US9223607B2 (en) 2012-01-17 2015-12-29 Microsoft Technology Licensing, Llc System for replicating or migrating virtual machine operations log by throttling guest write iOS based on destination throughput
US20150019792A1 (en) 2012-01-23 2015-01-15 The Regents Of The University Of California System and method for implementing transactions using storage device support for atomic updates and flexible interface for managing data logging
US8972568B2 (en) 2012-02-21 2015-03-03 Telefonaktiebolaget L M Ericsson (Publ) Quantifying user quality of experience by passive monitoring
US9165005B2 (en) 2012-02-24 2015-10-20 Simplivity Corporation Method and apparatus utilizing non-uniform hash functions for placing records in non-uniform access memory
EP2738679A1 (en) 2012-02-24 2014-06-04 Hitachi, Ltd. Computer program and management computer
US20130238832A1 (en) 2012-03-07 2013-09-12 Netapp, Inc. Deduplicating hybrid storage aggregate
US9417811B2 (en) 2012-03-07 2016-08-16 International Business Machines Corporation Efficient inline data de-duplication on a storage system
US8732403B1 (en) 2012-03-14 2014-05-20 Netapp, Inc. Deduplication of data blocks on storage devices
US8943282B1 (en) 2012-03-29 2015-01-27 Emc Corporation Managing snapshots in cache-based storage systems
US8688652B2 (en) 2012-04-05 2014-04-01 International Business Machines Corporation Increased in-line deduplication efficiency
US9075710B2 (en) 2012-04-17 2015-07-07 SanDisk Technologies, Inc. Non-volatile key-value store
US9141290B2 (en) 2012-05-13 2015-09-22 Emc Corporation Snapshot mechanism
WO2013171794A1 (en) 2012-05-17 2013-11-21 Hitachi, Ltd. Method of data migration and information storage system
US9003162B2 (en) 2012-06-20 2015-04-07 Microsoft Technology Licensing, Llc Structuring storage based on latch-free B-trees
US20130346700A1 (en) 2012-06-21 2013-12-26 Alexander I. Tomlinson Systems and methods for managing memory
WO2014002136A1 (en) 2012-06-26 2014-01-03 Hitachi, Ltd. Storage system and method of controlling the same
CN103514064B (en) 2012-06-28 2016-03-16 国际商业机器公司 The method and apparatus of record backup information
US8904231B2 (en) 2012-08-08 2014-12-02 Netapp, Inc. Synchronous local and cross-site failover in clustered storage systems
US8903876B2 (en) 2012-08-15 2014-12-02 Facebook, Inc. File storage system based on coordinated exhaustible and non-exhaustible storage
US8922928B2 (en) 2012-09-20 2014-12-30 Dell Products L.P. Method and system for preventing unreliable data operations at cold temperatures
US9009402B2 (en) 2012-09-20 2015-04-14 Emc Corporation Content addressable storage in legacy systems
US9318154B2 (en) 2012-09-20 2016-04-19 Dell Products L.P. Method and system for preventing unreliable data operations at cold temperatures
US8745415B2 (en) 2012-09-26 2014-06-03 Pure Storage, Inc. Multi-drive cooperation to generate an encryption key
US9146684B2 (en) 2012-09-28 2015-09-29 Netapp, Inc. Storage architecture for server flash and storage array operation
KR102007650B1 (en) 2012-10-05 2019-10-23 삼성전자 주식회사 Segment group considering segment cleaning apparatus and method thereof
US8930778B2 (en) 2012-11-15 2015-01-06 Seagate Technology Llc Read disturb effect determination
US9342243B2 (en) 2012-11-28 2016-05-17 Lenovo (Beijing) Co., Ltd. Method and electronic apparatus for implementing multi-operating system
US9251201B2 (en) 2012-12-14 2016-02-02 Microsoft Technology Licensing, Llc Compatibly extending offload token size
US9331936B2 (en) 2012-12-30 2016-05-03 Mellanox Technologies Ltd. Switch fabric support for overlay network features
US9459856B2 (en) 2013-01-02 2016-10-04 International Business Machines Corporation Effective migration and upgrade of virtual machines in cloud environments
US9495288B2 (en) 2013-01-22 2016-11-15 Seagate Technology Llc Variable-size flash translation layer
US9652376B2 (en) 2013-01-28 2017-05-16 Radian Memory Systems, Inc. Cooperative flash memory control
US20140215170A1 (en) 2013-01-31 2014-07-31 Futurewei Technologies, Inc. Block Compression in a Key/Value Store
US9852055B2 (en) 2013-02-25 2017-12-26 International Business Machines Corporation Multi-level memory compression
US9792120B2 (en) 2013-03-05 2017-10-17 International Business Machines Corporation Anticipated prefetching for a parent core in a multi-core chip
US8751763B1 (en) 2013-03-13 2014-06-10 Nimbus Data Systems, Inc. Low-overhead deduplication within a block-based data storage
US10706009B2 (en) 2013-03-14 2020-07-07 Oracle International Corporation Techniques to parallelize CPU and IO work of log writes
US9195939B1 (en) 2013-03-15 2015-11-24 Cavium, Inc. Scope in decision trees
US9672237B2 (en) 2013-03-15 2017-06-06 Amazon Technologies, Inc. System-wide checkpoint avoidance for distributed database systems
US9460024B2 (en) 2013-03-15 2016-10-04 Vmware, Inc. Latency reduction for direct memory access operations involving address translation
US20150095555A1 (en) 2013-09-27 2015-04-02 Avalanche Technology, Inc. Method of thin provisioning in a solid state disk array
CN104246722B (en) 2013-03-29 2017-02-22 株式会社东芝 Storage system for eliminating data duplication on basis of hash table, storage controller, and method
US9519695B2 (en) 2013-04-16 2016-12-13 Cognizant Technology Solutions India Pvt. Ltd. System and method for automating data warehousing processes
US9213633B2 (en) 2013-04-30 2015-12-15 Seagate Technology Llc Flash translation layer with lower write amplification
US10311028B2 (en) 2013-05-16 2019-06-04 Oracle International Corporation Method and apparatus for replication size estimation and progress monitoring
GB2528585A (en) 2013-05-17 2016-01-27 Hitachi Ltd Storage device
WO2014209984A1 (en) 2013-06-25 2014-12-31 Marvell World Trade Ltd. Adaptive cache memory controller
US9411764B2 (en) 2013-07-23 2016-08-09 Lenovo Enterprise Solutions (Singapore) Pte. Ltd. Optimized redundant high availability SAS topology
US9582198B2 (en) 2013-08-26 2017-02-28 Vmware, Inc. Compressed block map of densely-populated data structures
US9311331B2 (en) 2013-08-27 2016-04-12 Netapp, Inc. Detecting out-of-band (OOB) changes when replicating a source file system using an in-line system
US9268502B2 (en) 2013-09-16 2016-02-23 Netapp, Inc. Dense tree volume metadata organization
EP2852097B1 (en) 2013-09-20 2016-08-10 CoScale NV Efficient data center monitoring
US9430383B2 (en) 2013-09-20 2016-08-30 Oracle International Corporation Fast data initialization
US9385959B2 (en) 2013-09-26 2016-07-05 Acelio, Inc. System and method for improving TCP performance in virtualized environments
US9405783B2 (en) 2013-10-02 2016-08-02 Netapp, Inc. Extent hashing technique for distributed storage architecture
US9372757B2 (en) 2013-10-18 2016-06-21 Netapp, Inc. Incremental block level backup
US10503716B2 (en) 2013-10-31 2019-12-10 Oracle International Corporation Systems and methods for generating bit matrices for hash functions using fast filtering
US9400745B2 (en) 2013-11-06 2016-07-26 International Business Machines Corporation Physical address management in solid state memory
CN105009099B (en) 2013-11-07 2018-02-06 株式会社日立制作所 Computer system and data control method
US10073630B2 (en) 2013-11-08 2018-09-11 Sandisk Technologies Llc Systems and methods for log coordination
US9152684B2 (en) 2013-11-12 2015-10-06 Netapp, Inc. Snapshots and clones of volumes in a storage system
US9201918B2 (en) 2013-11-19 2015-12-01 Netapp, Inc. Dense tree volume metadata update logging and checkpointing
US9170746B2 (en) 2014-01-07 2015-10-27 Netapp, Inc. Clustered raid assimilation management
US9448924B2 (en) 2014-01-08 2016-09-20 Netapp, Inc. Flash optimized, log-structured layer of a file system
US9152330B2 (en) 2014-01-09 2015-10-06 Netapp, Inc. NVRAM data organization using self-describing entities for predictable recovery after power-loss
US9454434B2 (en) 2014-01-17 2016-09-27 Netapp, Inc. File system driven raid rebuild technique
US9268653B2 (en) 2014-01-17 2016-02-23 Netapp, Inc. Extent metadata update logging and checkpointing
US9256549B2 (en) 2014-01-17 2016-02-09 Netapp, Inc. Set-associative hash table organization for efficient storage and retrieval of data in a storage system
US20150244795A1 (en) 2014-02-21 2015-08-27 Solidfire, Inc. Data syncing in a distributed system
US20150261446A1 (en) 2014-03-12 2015-09-17 Futurewei Technologies, Inc. Ddr4-onfi ssd 1-to-n bus adaptation and expansion controller
CN104934066B (en) 2014-03-19 2018-03-27 安华高科技通用Ip(新加坡)公司 Reading interference processing in nand flash memory
US9274713B2 (en) 2014-04-03 2016-03-01 Avago Technologies General Ip (Singapore) Pte. Ltd. Device driver, method and computer-readable medium for dynamically configuring a storage controller based on RAID type, data alignment with a characteristic of storage elements and queue depth in a cache
US9471428B2 (en) 2014-05-06 2016-10-18 International Business Machines Corporation Using spare capacity in solid state drives
US9891993B2 (en) 2014-05-23 2018-02-13 International Business Machines Corporation Managing raid parity stripe contention
US8850108B1 (en) 2014-06-04 2014-09-30 Pure Storage, Inc. Storage cluster
US9501359B2 (en) 2014-09-10 2016-11-22 Netapp, Inc. Reconstruction of dense tree volume metadata state across crash recovery
US20160070644A1 (en) 2014-09-10 2016-03-10 Netapp, Inc. Offset range operation striping to improve concurrency of execution and reduce contention among resources
US9524103B2 (en) 2014-09-10 2016-12-20 Netapp, Inc. Technique for quantifying logical space trapped in an extent store
US20160070714A1 (en) 2014-09-10 2016-03-10 Netapp, Inc. Low-overhead restartable merge operation with efficient crash recovery
US20160077744A1 (en) 2014-09-11 2016-03-17 Netapp, Inc. Deferred reference count update technique for low overhead volume metadata
US9836229B2 (en) 2014-11-18 2017-12-05 Netapp, Inc. N-way merge technique for updating volume metadata in a storage I/O stack
US9619158B2 (en) 2014-12-17 2017-04-11 International Business Machines Corporation Two-level hierarchical log structured array architecture with minimized write amplification
US10216966B2 (en) 2015-02-25 2019-02-26 Netapp, Inc. Perturb key technique

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1936818A (en) * 2005-09-22 2007-03-28 株式会社日立制作所 Storage control apparatus, data management system and data management method
CN103399796A (en) * 2006-12-12 2013-11-20 Lsi公司 Balancing of clustered virtual machines using storage load information
CN103534996A (en) * 2012-11-29 2014-01-22 华为技术有限公司 Method and device for implementing load balance
US20140181370A1 (en) * 2012-12-21 2014-06-26 Lsi Corporation Method to apply fine grain wear leveling and garbage collection
US8832363B1 (en) * 2014-01-17 2014-09-09 Netapp, Inc. Clustered RAID data organization

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107832008A (en) * 2017-10-25 2018-03-23 记忆科技(深圳)有限公司 A kind of method of raising SSD write performance uniformity
CN112506429A (en) * 2020-11-30 2021-03-16 杭州海康威视系统技术有限公司 Method, device and equipment for deleting processing and storage medium

Also Published As

Publication number Publication date
US20170235673A1 (en) 2017-08-17
WO2016040233A1 (en) 2016-03-17
US10210082B2 (en) 2019-02-19
EP3191932A1 (en) 2017-07-19
US20160077745A1 (en) 2016-03-17
US9671960B2 (en) 2017-06-06

Similar Documents

Publication Publication Date Title
CN107077300A (en) For balancing segmentation removing and the rate-matched technology of I/O workloads
US9720601B2 (en) Load balancing technique for a storage array
TWI709073B (en) Distributed storage system, distributed storage method and distributed facility
CN106662981B (en) Storage device, program, and information processing method
US10459657B2 (en) Storage system with read cache-on-write buffer
US11372544B2 (en) Write type based crediting for block level write throttling to control impact to read input/output operations
CN106687910A (en) Optimized segment cleaning technique
US10042853B2 (en) Flash optimized, log-structured layer of a file system
CN104272244B (en) For being scheduled to handling to realize the system saved in space, method
US9984004B1 (en) Dynamic cache balancing
US20160070644A1 (en) Offset range operation striping to improve concurrency of execution and reduce contention among resources
US10649668B2 (en) Systems, methods, and computer program products providing read access in a storage system
CN111587423A (en) Hierarchical data policy for distributed storage systems
CN105612490A (en) Extent hashing technique for distributed storage architecture
CN111587418A (en) Directory structure for distributed storage system
US10621057B2 (en) Intelligent redundant array of independent disks with resilvering beyond bandwidth of a single drive
US11188229B2 (en) Adaptive storage reclamation
Xuan et al. Accelerating big data analytics on HPC clusters using two-level storage
Zhou et al. Hierarchical consistent hashing for heterogeneous object-based storage
US10572464B2 (en) Predictable allocation latency in fragmented log structured file systems
Cha et al. Analysis of i/o performance for optimizing software defined storage in cloud integration
Liu et al. masfs: File system based on memory and ssd in compute nodes for high performance computers
Rumyantsev et al. Latency/wearout in a flash-based storage system with replication on write
US11494303B1 (en) Data storage system with adaptive, memory-efficient cache flushing structure
WO2014168603A1 (en) System for increasing utilization of storage media

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
WD01 Invention patent application deemed withdrawn after publication
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20170818