US20120042123A1 - Intelligent cache management - Google Patents
Intelligent cache management Download PDFInfo
- Publication number
- US20120042123A1 US20120042123A1 US13/278,541 US201113278541A US2012042123A1 US 20120042123 A1 US20120042123 A1 US 20120042123A1 US 201113278541 A US201113278541 A US 201113278541A US 2012042123 A1 US2012042123 A1 US 2012042123A1
- Authority
- US
- United States
- Prior art keywords
- cache
- controller
- storage device
- cache hint
- hint
- 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.)
- Abandoned
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0804—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches with main memory updating
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0862—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches with prefetch
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/12—Replacement control
- G06F12/121—Replacement control using replacement algorithms
- G06F12/126—Replacement control using replacement algorithms with special data handling, e.g. priority of data or instructions, handling errors or pinning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0866—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches for peripheral storage systems, e.g. disk cache
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/60—Details of cache memory
- G06F2212/6028—Prefetching based on hints or prefetch instructions
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Abstract
An exemplary storage network, storage controller, and methods of operation are disclosed. In one embodiment, a method of managing cache memory in a storage controller comprises receiving, at the storage controller, a cache hint generated by an application executing on a remote processor, wherein the cache hint identifies a memory block managed by the storage controller, and managing a cache memory operation for data associated with the memory block in response to the cache hint received by the storage controller.
Description
- The described subject matter relates to electronic computing, and more particularly to systems and methods for intelligent cache management.
- Effective collection, management, and control of information have become a central component of modern business processes. To this end, many businesses, both large and small, now implement computer-based information management systems.
- Data management is an important component of a computer-based information management system. Many users implement storage networks to manage data operations in computer-based information management systems. Storage networks have evolved in computing power and complexity to provide highly reliable, managed storage solutions that may be distributed across a wide geographic area.
- In use, various operations are executed against data resident in memory in a storage system. Many storage systems retrieve data that is actively being modified from a permanent storage media and place the data in a cache memory to enhance the speed of executing data operations. Cache memory is a limited resource, and adroit management of cache memory is desirable.
- In one embodiment, a method of managing cache memory in a storage controller comprises receiving, at the storage controller, a cache hint generated by an application executing on a remote processor, wherein the cache hint identifies a memory block managed by the storage controller, and managing a cache memory operation for data associated with the memory block in response to the cache hint received by the storage controller.
-
FIG. 1 is a schematic illustration of an exemplary implementation of a networked computing system that utilizes a storage network. -
FIG. 2 is a schematic illustration of an exemplary implementation of a storage network. -
FIG. 3 is a schematic illustration of an exemplary implementation of a computing device that can be utilized to implement a host. -
FIG. 4 is a schematic illustration of an exemplary implementation of a storage cell. -
FIG. 5 is a schematic illustration of an architecture in which cache management hints are ultimately passed to a storage controller. -
FIG. 6 is a flowchart illustrating operations in an exemplary embodiment of a method for managing cache in a storage controller. -
FIG. 7 is a flowchart illustrating operations associated with an exemplary embodiment of a Write-Through Cache hint. -
FIG. 8 is a flowchart illustrating operations associated with an exemplary embodiment of a Pin Cache hint. -
FIG. 9 is a flowchart illustrating operations associated with an exemplary embodiment of a Sequential Scan cache hint. -
FIG. 10 is a flowchart illustrating operations associated with an exemplary embodiment of a Priority Cache hint. -
FIG. 11 is a flowchart illustrating operations associated with an exemplary embodiment of a Working Set cache hint. - Described herein are exemplary storage network architectures and methods for intelligent cache management. The methods described herein may be embodied as logic instructions on a computer-readable medium such as, e.g., firmware executable on a processor. When executed on a processor, the logic instructions cause processor to be programmed as a special-purpose machine that implements the described methods.
-
FIG. 1 is a schematic illustration of an exemplary implementation of anetworked computing system 100 that utilizes a storage network. The storage network comprises astorage pool 110, which comprises an arbitrarily large quantity of storage space. In practice, astorage pool 110 has a finite size limit determined by the particular hardware used to implement thestorage pool 110. However, there are few theoretical limits to the storage space available in astorage pool 110. - A plurality of logical disks (also called logical units or LUs) 112 a, 112 b may be allocated within
storage pool 110. EachLU host devices - A host such as
server 128 may provide services to other computing or data processing systems or devices. For example,client computer 126 may accessstorage pool 110 via a host such asserver 128.Server 128 may provide file services toclient 126, and may provide other services such as transaction processing services, email services, etc. Hence,client device 126 may or may not directly use the storage consumed byhost 128. - Devices such as
wireless device 120, andcomputers LUs multiple LUs LUs FIG. 1 may include memory, mass storage, and a degree of data processing capability sufficient to manage a network connection. -
FIG. 2 is a schematic illustration of anexemplary storage network 200 that may be used to implement a storage pool such asstorage pool 110.Storage network 200 comprises a plurality ofstorage cells communication network 212.Storage cells Communication network 212 may be implemented as a private, dedicated network such as, e.g., a Fibre Channel (FC) switching fabric. Alternatively, portions ofcommunication network 212 may be implemented using public communication networks pursuant to a suitable communication protocol such as, e.g., the Internet Small Computer Serial Interface (iSCSI) protocol. -
Client computers storage cells servers Clients file server 216 directly, or via anetwork 218 such as a Local Area Network (LAN) or a Wide Area Network (WAN). The number ofstorage cells communication network 212. A switching fabric comprising a single FC switch can interconnect 256 or more ports, providing a possibility of hundreds ofstorage cells - Hundreds or even thousands of
host computers storage network 200 to access data stored instorage cells Hosts FIG. 3 is a schematic illustration of anexemplary computing device 330 that can be utilized to implement a host.Computing device 330 includes one or more processors orprocessing units 332, asystem memory 334, and abus 336 that couples various system components including thesystem memory 334 toprocessors 332. Thebus 336 represents one or more of any of several types of bus structures, including a memory bus or memory controller, a peripheral bus, an accelerated graphics port, and a processor or local bus using any of a variety of bus architectures. Thesystem memory 334 includes read only memory (ROM) 338 and random access memory (RAM) 340. A basic input/output system (BIOS) 342, containing the basic routines that help to transfer information between elements withincomputing device 330, such as during start-up, is stored inROM 338. -
Computing device 330 further includes ahard disk drive 344 for reading from and writing to a hard disk (not shown), and may include amagnetic disk drive 346 for reading from and writing to a removablemagnetic disk 348, and anoptical disk drive 350 for reading from or writing to a removableoptical disk 352 such as a CD ROM or other optical media. Thehard disk drive 344,magnetic disk drive 346, andoptical disk drive 350 are connected to thebus 336 by aSCSI interface 354 or some other appropriate interface. The drives and their associated computer-readable media provide nonvolatile storage of computer-readable instructions, data structures, program modules and other data forcomputing device 330. Although the exemplary environment described herein employs a hard disk, a removablemagnetic disk 348 and a removableoptical disk 352, other types of computer-readable media such as magnetic cassettes, flash memory cards, digital video disks, random access memories (RAMs), read only memories (ROMs), and the like, may also be used in the exemplary operating environment. - A number of program modules may be stored on the
hard disk 344,magnetic disk 348,optical disk 352,ROM 338, orRAM 340, including anoperating system 358, one ormore application programs 360,other program modules 362, andprogram data 364. A user may enter commands and information intocomputing device 330 through input devices such as akeyboard 366 and apointing device 368. Other input devices (not shown) may include a microphone, joystick, game pad, satellite dish, scanner, or the like. These and other input devices are connected to theprocessing unit 332 through aninterface 370 that is coupled to thebus 336. Amonitor 372 or other type of display device is also connected to thebus 336 via an interface, such as avideo adapter 374. -
Computing device 330 may operate in a networked environment using logical connections to one or more remote computers, such as aremote computer 376. Theremote computer 376 may be a personal computer, a server, a router, a network PC, a peer device or other common network node, and typically includes many or all of the elements described above relative tocomputing device 330, although only amemory storage device 378 has been illustrated inFIG. 3 . The logical connections depicted inFIG. 3 include aLAN 380 and aWAN 382. - When used in a LAN networking environment,
computing device 330 is connected to thelocal network 380 through a network interface oradapter 384. When used in a WAN networking environment,computing device 330 typically includes amodem 386 or other means for establishing communications over thewide area network 382, such as the Internet. Themodem 386, which may be internal or external, is connected to thebus 336 via aserial port interface 356. In a networked environment, program modules depicted relative to thecomputing device 330, or portions thereof, may be stored in the remote memory storage device. It will be appreciated that the network connections shown are exemplary and other means of establishing a communications link between the computers may be used. -
Hosts communication network 212. The connection tocommunication network 212 may be through an optical coupling or more conventional conductive cabling depending on the bandwidth requirements. A host adapter may be implemented as a plug-in card oncomputing device 330.Hosts communication network 212 as the hardware and software support. - Generally, the data processors of
computing device 330 are programmed by means of instructions stored at different times in the various computer-readable storage media of the computer. Programs and operating systems distributed, for example, on floppy disks, CD-ROMs, or electronically, and are installed or loaded into the secondary memory of a computer. At execution, the programs are loaded at least partially into the computer's primary electronic memory. -
FIG. 4 is a schematic illustration of an exemplary implementation of astorage cell 400, such as storage cell 210. Referring toFIG. 4 ,storage cell 400 includes two Network Storage Controllers (NSCs), also referred to as disk controllers or array controllers, 410 a, 410 b to manage the operations and the transfer of data to and from one ormore disk arrays NSCs microprocessor memory NSC host adapter ports host adapter ports host adapter port FIG. 4 provides a fully-redundant storage cell; only a single NSC is required to implement a storage cell 210. - Each
NSC communication port communication connection 438 between theNSCs communication connection 438 may be implemented as a FC point-to-point connection, or pursuant to any other suitable communication protocol. - In an exemplary implementation,
NSCs disk drives disk drives disk drives - Having described various components of an exemplary storage network, attention is now directed to operations of the
storage network 200 and components thereof. - In operation, application software executing on one or more client computing devices such as
computing device 126 perform functions that generate requests which are directed to a host computer such ashost computer 128. In response to the request(s), thehost computer 128 transmits a data request to a component of thestorage network 200. Typically, the request is transmitted to one or more NSC such asNSC disks memory - To facilitate efficient management of cache memory resources, a controller may be configured to receive cache management hints generated by higher-level software applications and to manage the cache resource in response to the received cache management hints. In one implementation, a cache management hint may be embodied as a message that provides a suggestion to the NSC such as
NSC -
FIG. 5 is a schematic illustration of an architecture in which cache management hints are ultimately passed to a controller such asNSC FIG. 5 ,application software 510 executing, e.g., on a client computer such asclient 126 interacts withdatabase management software 520 which may be executing on one or more of the client, a server, or a host computer such ashost 128.Database management software 520 typically interacts with one or more of afile management system 530 and anoperating system 540 executing on one or more of a server or a host computer such ashost 128, which in turn cooperates with astorage controller 550 such as, e.g., themicroprocessor NSC - Each module 510-540 may generate one or more cache hints, which may be transmitted directly to the
storage controller 550. For example,application software 510 may generate one or more cache hints which may be transmitted directly to thestorage controller 550. Similarly, one or more of thedatabase management software 520,file management system 530 and/oroperating system 550 may generate one or more cache hints which may be transmitted directly to thestorage controller 550. - Alternatively, each module in the
stack 500 may transmit one or more cache hints to the next module in the stack. In one embodiment the respective modules in thestack 500 pass cache hints to the next module in the stack without performing any analysis on the received cache hints. In alternate embodiments one or more of the modules 510-540 may be configured to analyze cache hints received from high-level modules in the stack and to generate a response in the event that the analysis indicates that the cache hint may cause an error. - By way of example, database
management software module 520 may analyze cache hints received from one ormore application modules 510 to determine whether the cache hints may invoke operations that conflict withdatabase management software 520. Similarly, filemanagement system module 530 may analyze cache hints received from one or more databasemanagement software modules 520 to determine whether cache hints may invoke operations that interfere with filemanagement system module 530.Operating system 540 may analyze cache hints received from one or more filemanagement system modules 530 to determine whether cache hints may invoke operations that interfere withoperating system 540. - When one or more of the software modules 510-540 detects a conflict the software module may perform one or more remedial operations. By way of example the module may generate an error warning that may be passed back up through the
stack 500 and presented to a user of the system, or to an administrator. The error warning may also be stored in a log for subsequent analysis. The module may also be configured to modify the cache hint in a fashion that reconciles a potential conflict indicated by the analysis, or to cancel the cache hint entirely. - In one
embodiment storage controller 550 is configured to receive cache hints and to manage cache operations in response to the cache hints.FIGS. 6-11 are flowcharts illustrating exemplary operations for intelligent cache management that may be implemented bystorage controller 550. In one embodiment, the operations illustrated inFIGS. 6-11 may be implemented as logic instructions stored in a computer-readable memory and executable on a processor such as one of theprocessors NSCs - Referring to
FIG. 6 , at operation 610 astorage controller 550 receives a data operation request atoperation 610. Atoperation 620 the storage controller parses the data operation request to obtain the cache management hint associated with the data operation request. In one embodiment cache management hints may be transmitted in a header associated with the data management request, and the storage controller may be configured to retrieve the cache management hint from the header associated with the request. Atoperation 630 the storage controller executes one or more operations to manage cache memory resources in accordance with the cache hints associated with the data operation request. -
FIGS. 7-11 are flowcharts illustrating examples of cache management hints and cache management operations associated with those hints. The specific hints illustrated inFIGS. 7-11 are intended to be illustrative rather than limiting. -
FIG. 7 is a flowchart illustrating operations associated with a Write Through Cache hint. Referring toFIG. 7 , atoperation 710 the storage controller receives a Write Through Cache hint associated with a data operation. Atoperation 720 the storage controller executes a fast de-stage of data associated with the Write Through Cache hint to permanent media (e.g., to a disk array). After the data has been written from cache to permanent storage media, the storage controller may acknowledge execution of the write operation to the host computer that generated the data request. - In one embodiment a Write Through Cache hint may identify data associated with the operation by logical unit number (LUN). In alternate embodiments data may be identified by a logical or physical memory address associated with the data. The particular mechanism by which the data is identified is not important.
-
FIG. 8 is a flowchart illustrating operations associated with a Pin Cache hint. Atoperation 810 the storage controller receives a Pin Cache hint associated with a data operation. Atoperation 820 the controller commits the data associated with the Pin Cache hint to cache memory. Atoperation 830 the controller monitors incoming data operations for an Unpin Cache hint associated with the data. The data remains “pinned” in cache until an Unpin Cache hint is received atoperation 830, whereupon control passes tooperation 840 and the data associated with the Unpin Cache hint is written to permanent storage media, and the write operation is acknowledged to the host (operation 850). - It is not necessary to enforce strict symmetry between the data associated with Pin Cache and Unpin Cache operations. A data block may be “pinned” to cache using a Pin Cache hint, and may be “unpinned” in a series of sub-blocks at different points in time. The storage controller may implement additional routines associated with Pin Cache hints to manage cache resources effectively. For example, a Pin Cache hint may be subject to a time threshold governed by the storage controller, so that data “pinned” to cache is automatically “unpinned” when the time threshold expires. Alternatively, the storage controller may impose a storage capacity threshold associated with “pinned” data, so that when the amount of “pinned” data exceeds a storage space threshold some or all of the pinned data is unpinned from cache.
-
FIG. 9 is a flowchart illustrating operations associated with a Sequential Scan cache hint. Referring toFIG. 9 , atoperation 910 the storage controller receives a Sequential Scan cache hint associated with a data operation. In one embodiment the Sequential Scan operation identifies one or more blocks of data to be pre-fetched from a permanent storage media (e.g., a disk) into cache. The blocks of data may be identified by either a logical address or a physical address, as described above. - In response to the request, at
operation 920, the storage controller pre-fetches the identified blocks of data from the permanent storage media and stores the data in cache memory, and returns an acknowledgment to the host computer atoperation 930. -
FIG. 10 is a flowchart illustrating operations associated with a Priority Cache hint. Referring toFIG. 10 , atoperation 1010 the storage controller receives a Priority Cache hint associated with a data operation. In one embodiment, the Priority Cache hint includes a priority parameter, and atoperation 1020 the priority parameter is associated with the data block identified in the cache hint. Data in the cache may be de-staged to permanent storage media in accordance with the priority parameter associated with the data (operation 1030). Atoperation 1040 the storage controller sends an acknowledgment to the host. - In one embodiment data blocks may be assigned numeric priority values that fall within a range of values. The storage controller may maintain a queue of data blocks that are to be de-staged to permanent storage media, and data blocks may be positioned in the queue in accordance with their respective priority values assigned. Thus, high-priority data blocks may be placed near the front of the queue, while low priority blocks may be placed near the end of the queue.
-
FIG. 11 is a flowchart illustrating operations associated with a Working Set cache hint. A “working set” refers to set of data blocks that are accessed repeatedly by a process and therefore should be cached together, if possible. The Working Set cache hint enables an application to identify an I/O operation (i.e., a write or a read) that should be considered as belonging to a working set. In one embodiment, the Working Set cache hint identifies data blocks as belonging to a working set and to a group. For example, if database instance X is going to read three blocks (A, B, C) repeatedly as part of working set Y (e.g., iterated over repeatedly in the inner loop of a join), then the database instance may initiate a call to storage as follows: read_with_cache_hint(blocks(A,B,C), working_set_cache_hint(group(X), set(Y))). - The controller can manage multiple working sets per group, and multiple groups may access a working set.
- Referring to
FIG. 11 , atoperation 1110 the storage controller receives a Working Set cache hint. In response to the hint, atoperation 1120 the storage controller caches the data blocks identified in the request in cache memory as part of a logically associated working set. Atoperation 1030 the storage controller sends an acknowledgment to the originating host computer. - The operations set forth in
FIGS. 7-11 are examples of cache management techniques that may be implemented by a storage controller. In addition to the specific embodiments explicitly set forth herein, other aspects and embodiments of the present invention will be apparent to those skilled in the art from consideration of the specification disclosed herein. It is intended that the specification and illustrated embodiments be considered as examples only, with a true scope and spirit of the invention being indicated by the following claims.
Claims (21)
1-28. (canceled)
29. A storage device, comprising:
at least one disk drive;
a controller to manage data input/output operations between the disk drive and a remote processor; and
a cache memory module communicatively connected to the controller,
wherein the controller is configured to receive a Pin cache hint generated by an application executing on a remote computing device and the controller holds one or more data blocks identified in the Pin cache hint based on the cache hint received by the controller.
30. The storage device of claim 29 , wherein the controller holds one or more data blocks identified in the Pin cache hint until an Unpin cache hint identifying one or more data blocks identified in the Pin cache hint is received.
31. The storage device of claim 29 , wherein the controller holds the one or more data blocks identified in the Pin cache hint until a time threshold expires.
32. The storage device of claim 29 , wherein the controller holds the one or more data blocks identified in the Pin cache hint until a capacity threshold is reached.
33. The storage device of claim 29 , wherein the controller receives the Pin cache hint in a header of a data operation request.
34. The storage device of claim 29 , wherein the remote computing device comprises a plurality of modules in a software stack executing on the remote computing device wherein the Pin cache hint is generated by a first module in the software stack and analyzed by a second module in the program stack to determine whether the Pin cache hint conflicts with the second module.
35. The storage device of claim 34 , wherein the plurality of modules of the program stack comprise at least two of an application software, a database management software, a file management system, and an operating system.
36. The storage device of claim 29 , wherein the controller is configured to acknowledge completion of a cache operation to the remote computing device.
37. A storage device, comprising:
at least one disk drive;
a controller to manage data input/output operations between the disk drive and a remote processor; and
a cache memory module communicatively connected to the controller,
wherein the controller is configured to receive a Working Set cache hint generated by an application executing on a remote computing device, the Working Set cache hint identifying one or more data blocks; and
the controller caches the one or more data blocks identified in the Working Set cache hint together as a group.
38. The storage device of claim 37 , wherein the controller receives the Working Set cache hint in a header of a data operation request.
39. The storage device of claim 37 , wherein the remote computing device comprises a plurality of modules in a software stack executing on the remote computing device wherein the Working Set cache hint is generated by a first module in the software stack and analyzed by a second module in the program stack to determine whether the Working Set cache hint conflicts with the second module.
40. The storage device of claim 39 , wherein the plurality of modules of the program stack comprise at least two of an application software, a database management software, a file management system, and an operating system.
41. The storage device of claim 37 , wherein the controller is configured to acknowledge completion of a cache operation to the remote computing device.
42. A storage device, comprising:
at least one disk drive;
a controller to manage data input/output operations between the disk drive and a remote processor, wherein the controller maintains a queue of data blocks for executing cache operations; and
a cache memory module communicatively connected to the controller;
wherein the controller is configured to receive a Priority cache hint that associates a priority level for cache operations associated with one or more data blocks identified in the cache hint, and the storage controller organizes data blocks in the queue in accordance with the priority level.
43. The storage device of claim 42 , wherein the Priority cache hint includes a priority parameter associated with a data block identified in the cache hint, and the data block is de-staged to a permanent storage media of the storage device in accordance with the priority parameter associated with the data block.
44. The storage device of claim 43 , wherein the controller maintains a de-staging queue comprising the data block, and the data block is positioned in the de-staging queue in accordance with the priority parameter.
45. The storage device of claim 42 , wherein the controller receives the Priority cache hint in a header of a data operation request.
46. The storage device of claim 42 , wherein the remote computing device comprises a plurality of modules in a software stack executing on the remote computing device wherein the Priority cache hint is generated by a first module in the software stack and analyzed by a second module in the program stack to determine whether the Priority cache hint conflicts with the second module.
47. The storage device of claim 46 , wherein the plurality of modules of the program stack comprise at least two of an application software, a database management software, a file management system, and an operating system.
48. The storage device of claim 42 , wherein the controller is configured to acknowledge completion of a cache operation to the remote computing device.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US13/278,541 US20120042123A1 (en) | 2005-01-27 | 2011-10-21 | Intelligent cache management |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11/044,962 US8127088B2 (en) | 2005-01-27 | 2005-01-27 | Intelligent cache management |
US13/278,541 US20120042123A1 (en) | 2005-01-27 | 2011-10-21 | Intelligent cache management |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US11/044,962 Continuation US8127088B2 (en) | 2005-01-27 | 2005-01-27 | Intelligent cache management |
Publications (1)
Publication Number | Publication Date |
---|---|
US20120042123A1 true US20120042123A1 (en) | 2012-02-16 |
Family
ID=36698428
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US11/044,962 Expired - Fee Related US8127088B2 (en) | 2005-01-27 | 2005-01-27 | Intelligent cache management |
US13/278,541 Abandoned US20120042123A1 (en) | 2005-01-27 | 2011-10-21 | Intelligent cache management |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US11/044,962 Expired - Fee Related US8127088B2 (en) | 2005-01-27 | 2005-01-27 | Intelligent cache management |
Country Status (1)
Country | Link |
---|---|
US (2) | US8127088B2 (en) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20140189247A1 (en) * | 2012-12-28 | 2014-07-03 | Christopher J Hughes | Apparatus and method for implementing a scratchpad memory |
US9063861B1 (en) * | 2012-12-27 | 2015-06-23 | Emc Corporation | Host based hints |
US20230342244A1 (en) * | 2022-04-20 | 2023-10-26 | Western Digital Technologies, Inc. | Read Look Ahead Optimization According To NVMe Dataset Management Hints |
Families Citing this family (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7975107B2 (en) * | 2007-06-22 | 2011-07-05 | Microsoft Corporation | Processor cache management with software input via an intermediary |
US8407398B2 (en) * | 2008-10-01 | 2013-03-26 | Lenovo (Singapore) Pte. Ltd. | Cache mapping for solid state drives |
US9104686B2 (en) | 2008-12-16 | 2015-08-11 | Sandisk Technologies Inc. | System and method for host management of discardable objects |
US9020993B2 (en) | 2008-12-16 | 2015-04-28 | Sandisk Il Ltd. | Download management of discardable files |
US9015209B2 (en) | 2008-12-16 | 2015-04-21 | Sandisk Il Ltd. | Download management of discardable files |
US20100235473A1 (en) * | 2009-03-10 | 2010-09-16 | Sandisk Il Ltd. | System and method of embedding second content in first content |
US8549229B2 (en) * | 2010-08-19 | 2013-10-01 | Sandisk Il Ltd. | Systems and methods for managing an upload of files in a shared cache storage system |
US8463802B2 (en) | 2010-08-19 | 2013-06-11 | Sandisk Il Ltd. | Card-based management of discardable files |
US8850114B2 (en) | 2010-09-07 | 2014-09-30 | Daniel L Rosenband | Storage array controller for flash-based storage devices |
US8819163B2 (en) | 2010-12-08 | 2014-08-26 | Yottastor, Llc | Method, system, and apparatus for enterprise wide storage and retrieval of large amounts of data |
US8656106B2 (en) * | 2010-12-16 | 2014-02-18 | International Business Machines Corporation | Managing unforced injections of cache lines into a cache utilizing predetermined address ranges |
US8788849B2 (en) | 2011-02-28 | 2014-07-22 | Sandisk Technologies Inc. | Method and apparatus for protecting cached streams |
KR101681364B1 (en) | 2011-03-24 | 2016-11-30 | 샌디스크 아이엘 엘티디 | Parallelization of error analysis circuitry for reduced power consumption |
US9035961B2 (en) | 2012-09-11 | 2015-05-19 | Apple Inc. | Display pipe alternate cache hint |
US9652233B2 (en) * | 2013-08-20 | 2017-05-16 | Apple Inc. | Hint values for use with an operand cache |
US10296240B2 (en) | 2014-04-28 | 2019-05-21 | Hewlett Packard Enterprise Development Lp | Cache management |
US9471955B2 (en) | 2014-06-19 | 2016-10-18 | Apple Inc. | Multiple display pipelines driving a divided display |
US9535843B2 (en) | 2015-02-17 | 2017-01-03 | Linkedin Corporation | Managed memory cache with application-layer prefetching |
US11494304B2 (en) | 2020-03-13 | 2022-11-08 | International Business Machines Corporation | Indicating extents of tracks in mirroring queues based on information gathered on tracks in extents in cache |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6347364B1 (en) * | 1998-11-20 | 2002-02-12 | International Business Machines Corp. | Schedulable dynamic memory pinning |
US20020138699A1 (en) * | 2001-03-21 | 2002-09-26 | Atsushi Okamura | Cache memory device |
Family Cites Families (97)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5923876A (en) | 1995-08-24 | 1999-07-13 | Compaq Computer Corp. | Disk fault prediction system |
US5706467A (en) * | 1995-09-05 | 1998-01-06 | Emc Corporation | Sequential cache management system utilizing the establishment of a microcache and managing the contents of such according to a threshold comparison |
US6161192A (en) | 1995-10-13 | 2000-12-12 | Compaq Computer Corporation | Raid array data storage system with storage device consistency bits and raidset consistency bits |
US5822584A (en) | 1995-10-13 | 1998-10-13 | Compaq Computer Corporation | User selectable priority for disk array background operations |
US5848241A (en) * | 1996-01-11 | 1998-12-08 | Openframe Corporation Ltd. | Resource sharing facility functions as a controller for secondary storage device and is accessible to all computers via inter system links |
US5915262A (en) * | 1996-07-22 | 1999-06-22 | Advanced Micro Devices, Inc. | Cache system and method using tagged cache lines for matching cache strategy to I/O application |
US6505268B1 (en) | 1996-12-20 | 2003-01-07 | Compaq Computer Corporation | Data distribution in a disk array |
US6145006A (en) * | 1997-06-25 | 2000-11-07 | Emc Corporation | Method and apparatus for coordinating locking operations of heterogeneous host computers accessing a storage subsystem |
US6170063B1 (en) | 1998-03-07 | 2001-01-02 | Hewlett-Packard Company | Method for performing atomic, concurrent read and write operations on multiple storage devices |
US6230240B1 (en) | 1998-06-23 | 2001-05-08 | Hewlett-Packard Company | Storage management system and auto-RAID transaction manager for coherent memory map across hot plug interface |
US6842833B1 (en) | 1998-06-30 | 2005-01-11 | Hewlett-Packard Development Company, L.P. | Computer system and method for transferring data between multiple peer-level storage units |
US6490122B1 (en) | 1998-08-28 | 2002-12-03 | Hewlett-Packard Company | System and method for providing power and control signals to a cartridge access device in a cartridge storage system |
US6493656B1 (en) | 1999-02-26 | 2002-12-10 | Compaq Computer Corporation, Inc. | Drive error logging |
US6295578B1 (en) | 1999-04-09 | 2001-09-25 | Compaq Computer Corporation | Cascaded removable media data storage system |
US7093182B2 (en) | 1999-08-02 | 2006-08-15 | Inostor Corporation | Data redundancy methods and apparatus |
US6587962B1 (en) | 1999-10-20 | 2003-07-01 | Hewlett-Packard Development Company, L.P. | Write request protection upon failure in a multi-computer system |
US6629273B1 (en) | 2000-01-24 | 2003-09-30 | Hewlett-Packard Development Company, L.P. | Detection of silent data corruption in a storage system |
US6826711B2 (en) | 2000-02-18 | 2004-11-30 | Avamar Technologies, Inc. | System and method for data protection with multidimensional parity |
US6647514B1 (en) | 2000-03-23 | 2003-11-11 | Hewlett-Packard Development Company, L.P. | Host I/O performance and availability of a storage array during rebuild by prioritizing I/O request |
US6643795B1 (en) | 2000-03-30 | 2003-11-04 | Hewlett-Packard Development Company, L.P. | Controller-based bi-directional remote copy system with storage site failover capability |
US6658590B1 (en) | 2000-03-30 | 2003-12-02 | Hewlett-Packard Development Company, L.P. | Controller-based transaction logging system for data recovery in a storage area network |
US6601187B1 (en) | 2000-03-31 | 2003-07-29 | Hewlett-Packard Development Company, L. P. | System for data replication using redundant pairs of storage controllers, fibre channel fabrics and links therebetween |
US6487636B1 (en) | 2000-04-24 | 2002-11-26 | Hewlett-Packard Co. | Method and apparatus for mapping data in a heterogeneous disk array storage system |
US6745207B2 (en) | 2000-06-02 | 2004-06-01 | Hewlett-Packard Development Company, L.P. | System and method for managing virtual storage |
US6772231B2 (en) | 2000-06-02 | 2004-08-03 | Hewlett-Packard Development Company, L.P. | Structure and process for distributing SCSI LUN semantics across parallel distributed components |
US6718404B2 (en) | 2000-06-02 | 2004-04-06 | Hewlett-Packard Development Company, L.P. | Data migration using parallel, distributed table driven I/O mapping |
US6742020B1 (en) | 2000-06-08 | 2004-05-25 | Hewlett-Packard Development Company, L.P. | System and method for managing data flow and measuring service in a storage network |
US6823453B1 (en) | 2000-10-06 | 2004-11-23 | Hewlett-Packard Development Company, L.P. | Apparatus and method for implementing spoofing-and replay-attack-resistant virtual zones on storage area networks |
US6721902B1 (en) | 2000-10-12 | 2004-04-13 | Hewlett-Packard Development Company, L.P. | Method and system for providing LUN-based backup reliability via LUN-based locking |
US6725393B1 (en) | 2000-11-06 | 2004-04-20 | Hewlett-Packard Development Company, L.P. | System, machine, and method for maintenance of mirrored datasets through surrogate writes during storage-area network transients |
US6870797B2 (en) | 2001-01-04 | 2005-03-22 | Hewlett-Packard Development Company, L.P. | Media storage system using a transponder for transmitting data signal |
US6961909B2 (en) | 2001-01-05 | 2005-11-01 | Hewlett-Packard Development Company, L.P. | System for displaying a hierarchical directory |
US6594745B2 (en) | 2001-01-31 | 2003-07-15 | Hewlett-Packard Development Company, L.P. | Mirroring agent accessible to remote host computers, and accessing remote data-storage devices, via a communcations medium |
US6560673B2 (en) | 2001-01-31 | 2003-05-06 | Hewlett Packard Development Company, L.P. | Fibre channel upgrade path |
US6763409B1 (en) | 2001-01-31 | 2004-07-13 | Hewlett-Packard Development Company, L.P. | Switch-on-the-fly GBIC disk channel adapter and disk channel system |
US6721847B2 (en) * | 2001-02-20 | 2004-04-13 | Networks Associates Technology, Inc. | Cache hints for computer file access |
US6606690B2 (en) | 2001-02-20 | 2003-08-12 | Hewlett-Packard Development Company, L.P. | System and method for accessing a storage area network as network attached storage |
US6523749B2 (en) | 2001-03-06 | 2003-02-25 | Hewlett-Packard Company | Apparatus and method for retrieving data cartridge information external to a media storage system |
US6629108B2 (en) | 2001-03-09 | 2003-09-30 | Hewlett-Packard Development Company, Lp. | Method for insuring data integrity for mirrored independently accessible memory devices |
US6546459B2 (en) | 2001-03-15 | 2003-04-08 | Hewlett Packard Development Company, L. P. | Redundant data storage systems and methods of operating a redundant data storage system |
US6708285B2 (en) | 2001-03-15 | 2004-03-16 | Hewlett-Packard Development Company, L.P. | Redundant controller data storage system having system and method for handling controller resets |
US6802023B2 (en) | 2001-03-15 | 2004-10-05 | Hewlett-Packard Development Company, L.P. | Redundant controller data storage system having hot insertion system and method |
US6715101B2 (en) | 2001-03-15 | 2004-03-30 | Hewlett-Packard Development Company, L.P. | Redundant controller data storage system having an on-line controller removal system and method |
US6662282B2 (en) | 2001-04-17 | 2003-12-09 | Hewlett-Packard Development Company, L.P. | Unified data sets distributed over multiple I/O-device arrays |
US6978345B2 (en) | 2001-05-15 | 2005-12-20 | Hewlett-Packard Development Company, L.P. | Self-mirroring high performance disk drive |
US6697881B2 (en) | 2001-05-29 | 2004-02-24 | Hewlett-Packard Development Company, L.P. | Method and system for efficient format, read, write, and initial copy processing involving sparse logical units |
US6718434B2 (en) | 2001-05-31 | 2004-04-06 | Hewlett-Packard Development Company, L.P. | Method and apparatus for assigning raid levels |
US6915397B2 (en) | 2001-06-01 | 2005-07-05 | Hewlett-Packard Development Company, L.P. | System and method for generating point in time storage copy |
US6735637B2 (en) | 2001-06-28 | 2004-05-11 | Hewlett-Packard Development Company, L.P. | Method and system for providing advanced warning to a data stage device in order to decrease the time for a mirror split operation without starving host I/O request processsing |
US6718447B2 (en) | 2001-06-28 | 2004-04-06 | Hewlett-Packard Development Company, L.P. | Method and system for providing logically consistent logical unit backup snapshots within one or more data storage devices |
US6889345B2 (en) | 2001-10-19 | 2005-05-03 | Hewlett-Packard Development Company, Lp. | System and method for locating a failed storage device in a data storage system |
US6920511B2 (en) | 2001-10-19 | 2005-07-19 | Hewlett-Packard Development Company, L.P. | Method and apparatus for controlling communications in data storage complexes |
US6988136B2 (en) | 2001-10-19 | 2006-01-17 | Hewlett-Packard Development Company, L.P. | Unified management system and method for multi-cabinet data storage complexes |
US6895467B2 (en) | 2001-10-22 | 2005-05-17 | Hewlett-Packard Development Company, L.P. | System and method for atomizing storage |
US8046469B2 (en) | 2001-10-22 | 2011-10-25 | Hewlett-Packard Development Company, L.P. | System and method for interfacing with virtual storage |
US6931487B2 (en) | 2001-10-22 | 2005-08-16 | Hewlett-Packard Development Company L.P. | High performance multi-controller processing |
US6845403B2 (en) | 2001-10-31 | 2005-01-18 | Hewlett-Packard Development Company, L.P. | System and method for storage virtualization |
US6681308B1 (en) | 2001-11-16 | 2004-01-20 | Hewlett-Packard Development Company, L.P. | Method for automatically converting block size and formatting backend fiber channel discs in an auto inclusive storage array environment |
JP2003162378A (en) | 2001-11-26 | 2003-06-06 | Hitachi Ltd | Method for duplicating data |
JP4168626B2 (en) | 2001-12-06 | 2008-10-22 | 株式会社日立製作所 | File migration method between storage devices |
US7093043B2 (en) | 2001-12-27 | 2006-08-15 | Hewlett-Packard Development Company, L.P. | Data array having redundancy messaging between array controllers over the host bus |
US6839824B2 (en) | 2001-12-28 | 2005-01-04 | Hewlett-Packard Development Company, L.P. | System and method for partitioning a storage area network associated data library employing element addresses |
US7111084B2 (en) | 2001-12-28 | 2006-09-19 | Hewlett-Packard Development Company, L.P. | Data storage network with host transparent failover controlled by host bus adapter |
US7162596B2 (en) | 2002-01-11 | 2007-01-09 | Hewlett-Packard Development Company, L.P. | Remote mirrored disk pair resynchronization monitor |
US6779064B2 (en) | 2002-01-24 | 2004-08-17 | Hewlett-Packard Development Company, L.P. | System, method, and computer program product for on-line replacement of a host bus adapter |
US6983303B2 (en) | 2002-01-31 | 2006-01-03 | Hewlett-Packard Development Company, Lp. | Storage aggregator for enhancing virtualization in data storage networks |
US7028177B2 (en) | 2002-01-31 | 2006-04-11 | Hewlett-Packard Development Company, L.P. | Array controller ROM cloning in redundant controllers |
US7340572B2 (en) | 2002-03-06 | 2008-03-04 | Hewlett-Packard Development Company, L.P. | Method and system for reliable remote-mirror resynchronization in disk arrays and other mass storage devices |
JP2003280964A (en) | 2002-03-22 | 2003-10-03 | Hitachi Ltd | Method for acquiring snapshot, storage system and disk device |
US6880052B2 (en) | 2002-03-26 | 2005-04-12 | Hewlett-Packard Development Company, Lp | Storage area network, data replication and storage controller, and method for replicating data using virtualized volumes |
US6996672B2 (en) | 2002-03-26 | 2006-02-07 | Hewlett-Packard Development, L.P. | System and method for active-active data replication |
US7149769B2 (en) | 2002-03-26 | 2006-12-12 | Hewlett-Packard Development Company, L.P. | System and method for multi-destination merge in a storage area network |
US6928513B2 (en) | 2002-03-26 | 2005-08-09 | Hewlett-Packard Development Company, L.P. | System and method for managing data logging memory in a storage area network |
US6934826B2 (en) | 2002-03-26 | 2005-08-23 | Hewlett-Packard Development Company, L.P. | System and method for dynamically allocating memory and managing memory allocated to logging in a storage area network |
US7032131B2 (en) | 2002-03-26 | 2006-04-18 | Hewlett-Packard Development Company, L.P. | System and method for ensuring merge completion in a storage area network |
US6795904B1 (en) | 2002-03-28 | 2004-09-21 | Hewlett-Packard Development Company, L.P. | System and method for improving performance of a data backup operation |
US7007042B2 (en) | 2002-03-28 | 2006-02-28 | Hewlett-Packard Development Company, L.P. | System and method for automatic site failover in a storage area network |
US20030188153A1 (en) | 2002-04-02 | 2003-10-02 | Demoff Jeff S. | System and method for mirroring data using a server |
JP2003296039A (en) | 2002-04-02 | 2003-10-17 | Hitachi Ltd | Cluster configuration storage system and method for controlling the same |
JP2003296147A (en) | 2002-04-08 | 2003-10-17 | Hitachi Ltd | Volume management method and device |
JP2003303054A (en) | 2002-04-08 | 2003-10-24 | Hitachi Ltd | Computer system, storage device and method for monitoring operation of same |
JP4032816B2 (en) | 2002-05-08 | 2008-01-16 | 株式会社日立製作所 | Storage network topology management system |
US6948036B2 (en) | 2002-06-21 | 2005-09-20 | Hewlett-Packard Development Company, L.P. | System and method for providing multi-initiator capability to an ATA drive |
US6961813B2 (en) | 2002-06-21 | 2005-11-01 | Hewlett-Packard Development Company, L.P. | System and method for providing multi-initiator capability to an ATA drive |
JP4219633B2 (en) | 2002-07-25 | 2009-02-04 | 株式会社日立製作所 | Storage device system destage method, disk control device, storage device system, and program |
US6907505B2 (en) | 2002-07-31 | 2005-06-14 | Hewlett-Packard Development Company, L.P. | Immediately available, statically allocated, full-logical-unit copy with a transient, snapshot-copy-like intermediate stage |
US7058850B2 (en) | 2002-07-31 | 2006-06-06 | Hewlett-Packard Development Company, L.P. | Method and system for preventing data loss within disk-array pairs supporting mirrored logical units |
US7116916B2 (en) | 2002-07-31 | 2006-10-03 | Hewlett-Packard Development Company, L.P. | Method and apparatus for compacting data in a communication network |
US20040024838A1 (en) | 2002-07-31 | 2004-02-05 | Cochran Robert A. | Intelligent data tunnels multiplexed within communications media directly interconnecting two or more multi-logical-unit-mass-storage devices |
JP3996010B2 (en) | 2002-08-01 | 2007-10-24 | 株式会社日立製作所 | Storage network system, management apparatus, management method and program |
US6792511B2 (en) | 2002-08-16 | 2004-09-14 | Hewlett-Packard Development Company, L.P. | Dual cache module support for array controller |
US20040078641A1 (en) | 2002-09-23 | 2004-04-22 | Hewlett-Packard Company | Operating system-independent file restore from disk image |
US6807605B2 (en) | 2002-10-03 | 2004-10-19 | Hewlett-Packard Development Company, L.P. | Managing a data storage array, a data storage system, and a raid controller |
US6817522B2 (en) | 2003-01-24 | 2004-11-16 | Hewlett-Packard Development Company, L.P. | System and method for distributed storage management |
US7149919B2 (en) | 2003-05-15 | 2006-12-12 | Hewlett-Packard Development Company, L.P. | Disaster recovery system with cascaded resynchronization |
US7478154B2 (en) | 2003-06-26 | 2009-01-13 | Hewlett-Packard Development Company, L.P. | Storage system with link selection control |
US7234019B1 (en) * | 2003-12-12 | 2007-06-19 | Raza Microelectronics, Inc. | Method and apparatus for implementing a search engine using an SRAM |
-
2005
- 2005-01-27 US US11/044,962 patent/US8127088B2/en not_active Expired - Fee Related
-
2011
- 2011-10-21 US US13/278,541 patent/US20120042123A1/en not_active Abandoned
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6347364B1 (en) * | 1998-11-20 | 2002-02-12 | International Business Machines Corp. | Schedulable dynamic memory pinning |
US20020138699A1 (en) * | 2001-03-21 | 2002-09-26 | Atsushi Okamura | Cache memory device |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9063861B1 (en) * | 2012-12-27 | 2015-06-23 | Emc Corporation | Host based hints |
US10152242B1 (en) * | 2012-12-27 | 2018-12-11 | EMC IP Holding Company LLC | Host based hints |
US20140189247A1 (en) * | 2012-12-28 | 2014-07-03 | Christopher J Hughes | Apparatus and method for implementing a scratchpad memory |
US9158702B2 (en) * | 2012-12-28 | 2015-10-13 | Intel Corporation | Apparatus and method for implementing a scratchpad memory using priority hint |
US20230342244A1 (en) * | 2022-04-20 | 2023-10-26 | Western Digital Technologies, Inc. | Read Look Ahead Optimization According To NVMe Dataset Management Hints |
Also Published As
Publication number | Publication date |
---|---|
US20060168403A1 (en) | 2006-07-27 |
US8127088B2 (en) | 2012-02-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8127088B2 (en) | Intelligent cache management | |
US7941578B2 (en) | Managing command request time-outs in QOS priority queues | |
EP0936547B1 (en) | Method and apparatus for identifying at-risk components in systems with redundant components | |
EP0935200B1 (en) | Highly scalable parallel processing computer system architecture | |
US6594698B1 (en) | Protocol for dynamic binding of shared resources | |
US6256740B1 (en) | Name service for multinode system segmented into I/O and compute nodes, generating guid at I/O node and exporting guid to compute nodes via interconnect fabric | |
EP0935374B1 (en) | Dynamic and consistent naming of fabric attached storage | |
US7886114B2 (en) | Storage controller for cache slot management | |
EP0935186B1 (en) | Volume set configuration using a single operational view | |
US6105122A (en) | I/O protocol for highly configurable multi-node processing system | |
US6711632B1 (en) | Method and apparatus for write-back caching with minimal interrupts | |
US7912996B2 (en) | Storage system | |
US8495131B2 (en) | Method, system, and program for managing locks enabling access to a shared resource | |
US20090240880A1 (en) | High availability and low capacity thin provisioning | |
US7395393B2 (en) | Storage control system | |
US8566446B2 (en) | Write operation control in storage networks | |
US20210382863A1 (en) | Use of time to live value during database compaction | |
US7694079B2 (en) | Tagged sequential read operations | |
JP2006092535A (en) | Internal mirroring operation in storage network | |
JP2007072521A (en) | Storage control system and storage controller | |
EP1550035A1 (en) | Data access control | |
US7743171B1 (en) | Formatting and initialization of device mirrors using initialization indicators | |
JP2005216304A (en) | Reproduction of data at multiple sites |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AS | Assignment |
Owner name: HEWLETT PACKARD ENTERPRISE DEVELOPMENT LP, TEXAS Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:HEWLETT-PACKARD DEVELOPMENT COMPANY, L.P.;REEL/FRAME:037079/0001 Effective date: 20151027 |
|
STCB | Information on status: application discontinuation |
Free format text: ABANDONED -- AFTER EXAMINER'S ANSWER OR BOARD OF APPEALS DECISION |