Source: http://www.google.com/patents/US7558914?dq=5,072,412
Timestamp: 2017-11-19 02:06:45
Document Index: 164562772

Matched Legal Cases: ['art 110', 'art 110', 'art 110', 'art 110', 'art 110', 'art 110', 'art 110', 'art 110', 'art 110']

Patent US7558914 - Data object processing of storage drive buffers - Google Patents
A deterministic flushing of one or more storage data objects buffered within a storage data buffer to a storage medium involves a processing of a host data object including writing a storage data object corresponding to the host data object to the storage data buffer, and a flushing of the storage data...http://www.google.com/patents/US7558914?utm_source=gb-gplus-sharePatent US7558914 - Data object processing of storage drive buffers
Publication number US7558914 B2
Application number US 11/534,543
Also published as US20080077742
Publication number 11534543, 534543, US 7558914 B2, US 7558914B2, US-B2-7558914, US7558914 B2, US7558914B2
Inventors Lyn L. Ashton, Edward A. Baker, Jr., Stanley M. Kissinger, William McEwen, Sean P. McMillen, Michael R. Noel, Glenn R. Wilcock
Data object processing of storage drive buffers
US 7558914 B2
A deterministic flushing of one or more storage data objects buffered within a storage data buffer to a storage medium involves a processing of a host data object including writing a storage data object corresponding to the host data object to the storage data buffer, and a flushing of the storage data object(s) buffered within the storage data buffer to the storage medium prior to or subsequent to (i.e., relative to) the writing of the storage data object corresponding to the host data object to the storage data buffer as a function of an occurrence determination of a storage data buffer flushing event. The deterministic flushing further involves a queuing of a host data buffer meta-data update request for later processing.
The present invention generally relates to the flushing of storage data objects buffered within a storage data buffer to a storage medium. The present invention specifically relates to a deterministic approach as to when the buffered storage data objects are flushed from the storage data buffer to the storage medium.
FIG. 1 illustrates a buffering of a host data object (“HDO”) within a host data buffer 11 of a host 10 for purposes of being individually processed for storage as storage data object (“SDO”) (i.e., a processed version of host data object HDO) in a storage medium 40. The processing by host 10 of host data object HDO includes a writing of its corresponding storage data object SDO to a storage data buffer 21 of a storage control unit 20. Generally, to provide data integrity and to ensure storage data object SDO being written to storage data buffer 21 is successfully written by a storage drive 30 to storage medium 40, storage data object SDO buffered in storage data buffer 21 is flushed by host 10, synchronously or periodically, to storage device 30 for storage within storage medium 40. Ensuring buffered storage data object SDO is indeed “hardened” to storage medium 40 mitigates a degree of recovery needed due to a loss of buffered storage data object SDO as a result of an abnormal storage system termination or other storage system error event.
The present invention provides a new and unique deterministic approach as to when storage data objects are flushed from a storage data buffer to a storage medium.
FIG. 1 illustrates a flushing of storage data objects buffered within a storage data buffer to a storage medium as known in the art;
FIG. 2 illustrates a host 50 constructed under the inventive principles of the present invention to perform a deterministic flushing of storage data objects SDO buffered within storage data buffer 21 to storage medium 40 via storage drive 30. Under the inventive principles of the present invention, host 50 determines an occurrence of a storage data buffer flushing event as a basis for flushing storage data objects SDO buffered within storage data buffer 21 to storage medium 40. For purposes of the present invention, the term “storage data buffer flushing event” is broadly defined herein as any sparse, infrequent or irregular event associated with one or more aspects of processing host data objects HDO for storage as storage data objects SDO within storage medium 40.
Referring to FIG. 5, flowchart 110 will be described in the context of a buffering within storage data buffer 21 of storage data object SDO1 having one megabyte of data and storage data object SDO2 having two megabytes, the meta-data of storage data objects SDO1 and SDO2 being queued within queue 82, and a host data object HDO3 having three megabytes of data being selected for processing during a stage S112 of flowchart 110. A stage S114 of flowchart 110 encompasses host 60 determining if a storage data object quantity (“SDOQ”) equals a storage data object quantity threshold (“SDOQT”). If so, then host 60 sequentially proceeds to a stage S126 of flowchart 110 to flush storage data objects SDO1 and SDO2 buffered within storage data buffer 21 to storage medium 40, a stage S128 of flowchart 110 to initiate a processing of the queued meta-data updates associated with host data objects HDO1 and HDO2, a stage S122 of flowchart 110 to write storage data object SDO3 to flushed storage data buffer 21 and a stage S124 of flowchart 110 to queue the meta-data update associated with host data object HDO3.
Otherwise, host 60 proceeds to a stage S116 of flowchart 110 to determine if a buffered data byte quantity (“BDBQ”) exceeds a buffered data byte quantity threshold (“BDBQT”). If so, then host 60 sequentially proceeds to stage S126 to flush storage data objects SDO1 and SDO2 buffered within storage data buffer 21 to storage medium 40, stage S128 to initiate a processing of the queued meta-data updates associated with host data objects HDO1 and HDO2, stage S122 to write storage data object SDO3 to flushed storage data buffer 21 and stage S124 to queue the meta-data update associated with host data object HDO3.
Otherwise, host 60 proceeds to a stage S118 of flowchart 110 to detect if a natural end of volume (“NEOV”) event of storage medium 40 or a forced end of volume (“FEOV”) event of storage medium 40 has occurred. If so, then host 60 sequentially proceeds to stage S126 to flush storage data objects SDO1 and SDO2 buffered within storage data buffer 21 to storage medium 40, stage S128 to initiate a processing of the queued meta-data updates associated with host data objects HDO 1 and HDO2, stage S122 to write storage data object SDO3 to flushed storage data buffer 21 and stage S124 to queue the meta-data update associated with host data object HDO3.
Referring to FIG. 3, the term “processor” as used herein is broadly defined as one or more processing units of any type for performing all arithmetic and logical operations and for decoding and executing all instructions related to facilitating an implementation by a storage control unit of the various methods of the present invention. Additionally, the term “memory” as used herein is broadly defined as encompassing all storage space in the form of computer readable mediums of any type within a storage control unit.
US20040172513 Mar 1, 2003 Sep 2, 2004 International Business Machines Corporation System and method for detecting memory management programming errors
US20050005087 May 28, 2004 Jan 6, 2005 Chu-Ching Yang System and method for memory management
U.S. Classification 711/113, 711/135
Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:ASHTON, LYN L.;BAKER, EDWARD A., JR.;KISSINGER, STANLEY M.;AND OTHERS;REEL/FRAME:018297/0188;SIGNING DATES FROM 20060911 TO 20060912