摘要:
An intelligent router routes a user request to a storage server that is capable of handling that request natively, without emulation. The request is routed automatically, without any instruction or interaction on the part of the user. The intelligent router includes a storage tank-like computing environment and a set of intelligent routers. The set of intelligent routers appears as a single entity to users by presenting a single network IP address. When the intelligent router receives a request, it examines the protocol type and routes the request to one of the appropriate storage tank clients. The intelligent router does not change the contents of the request message, and thus the storage tank system do not become aware of the existence of the intelligent router. Consequently, any return messages do not need to go through the intelligent router, unless desired.
摘要:
Stored data can be recovered from a disk array having at least 2n+1 physical disks that are capable of storing n physical disks worth of data when any two disks fail, or when more than two dependent disks fail. Data is stored in data stripes that are divided into n substantially equal-sized strips and are distributed across the n disks. Each data stripe has a corresponding parity strip that is generated by including the data strips in the data stripe only once when the parity strip is generated. The data strips of each data stripe, the copy of each such data strip and the corresponding parity strip are distributed across the disks in such a manner that the data strips of each data stripe, the copy of each such data strip and the corresponding parity strip are each on a respectively different disk of the disk array.
摘要:
The present invention discloses a method, apparatus, and article of manufacture for implementing a locking structure for supporting parity protection in a RAID clustered environment. When updating parity, the parity is locked so that other nodes cannot access or modify the parity. Accordingly, the parity is locked, read, generated, written, and unlocked by a node. An enhanced protocal may combine the lock and read functions and the write and unlock functions. Further, the SCSI RESERVE and RELEASE commands may be utlized to lock/unlock the parity data. By locking the parity in this maner, overhead is mininized and does not increase as the number of nodes increases.
摘要:
A method for reorganizing data in a storage device for improved performance is provided where the device stores data as data units each associated with a sequential address. The method for reorganizing data includes allocating a reorganization region capable of storing N units and grouping the data units into a plurality of extents each having a generally large number of units. The method further includes sorting the extents based on the frequency of request of the units in the extents and copying N most frequently requested units from the sorted extents into the reorganization region while preserving the order of the sorted extents and the order of the sequential addresses of the units in each extent. The method also includes servicing requests for data using data in the reorganization region.
摘要:
A system for ensuring high reliability in a block service disk array system while promoting high performance by logically writing all changes to strides on the array while physically writing ahead to a log only a subset of the changes. Specifically, for changes of only a strip or so, the changes are written to a log, along with a commit record, and then written to disk, later deleting the changes from the log. In contrast, for relatively larger changes, i.e., for an entire (or nearly entire) stride, the old stride is not overwritten by the new, but rather is written to a new location on the disk, with the new and old locations and a commit record (but not the new stride itself) being logged and with the entries for the locations in the stride mapping table swapped with each other. In an alternate embodiment, blocks can be written to temporary locations in a RAID-1 area and lazily moved to home locations in a RAID-5 area of an array of disks.
摘要:
Monitoring an activity profile for a given row of a database and determining a target database for a given row based on the activity profile of the given row. Identifying any row related to the given row and moving the given row and any row related to the given row into the target database while preserving referential integrity.
摘要:
A cost-adaptive cache including the ability to dynamically maximize performance in a caching system by preferentially caching data according to the cost of replacing data. The cost adaptive cache includes a partitioned real cache, wherein data is stored in each of the real cache partitions according to its replacement cost. Also, the cost-adaptive cache includes a partitioned phantom cache to provide a directory of information pertaining to blocks of data which do not qualify for inclusion in the real cache. The partitions in the phantom cache correspond to the partitions in the real cache. Moreover, the cost-adaptive cache maximizes performance in a system by preferentially caching data that is more costly to replace. In one embodiment of the system, the cost of replacing a block of data is estimated by the previous cost incurred to fetch that block of data.
摘要:
A data storage system and method for reorganizing data to improve the effectiveness of data prefetching and reduce the data seek distance. A data reorganization region is allocated in which data is reorganized to service future requests for data. Sequences of data units that have been repeatedly requested are determined from a request stream, preferably using a graph where each vertex of the graph represents a requested data unit and each edge represents that a destination unit is requested shortly after a source unit the frequency of this occurrence. The most frequently requested data units are also determined from the request stream. The determined data is copied into the reorganization region and reorganized according to the determined sequences and most frequently requested units. The reorganized data might then be used to service future requests for data.
摘要:
The present invention is system and method for determining information that is to be prefetched in a multi-stream environment which can detect sequential streams from among the aggregate reference stream and yet requires relatively little memory to operate, which is uniquely adapted for use in a multi-stream environment, in which multiple data accessing streams are performing sequential accesses to information independently of each other. A reference address referencing stored information is received. A matching run is found. A count corresponding to the run is updated. If the count exceeds a predetermined threshold, an amount of information to prefetch is determined. If a predetermined fraction of the determined amount of information to prefetch must still be retrieved, the determined amount of information is retrieved. A matching run may be found by searching a stack comprising a plurality of entries to find an entry corresponding to the reference address. Each of the plurality of entries may be associated with a maximum accessed address, a forward range, and a backward range, and the searching step may comprise searching the plurality of stack entries in one direction starting at an end of the stack and determining whether the reference address is between (maximum accessed address−backward range) and (maximum accessed address+forward range) for each stack entry until a matching stack entry is found.
摘要:
A method for managing data is provided which includes monitoring an activity profile for a given row of a database and determining a target database for a given row based on the activity profile of the given row. The method further includes identifying any row related to the given row and moving the given row and any row related to the given row into the target database while preserving referential integrity.