Inventor

Michael T. Benhase

Inventor
Tucson, AZ, US

Overview

317→
Patents
1984–2020
Patent span
Physics
Primary field (CPC G)

Patents· 317 as inventor

Public. Assignee & technology derived from the patent record. Each patent links to its LexDana page.

G06Fprimary
G06FElectric digital data processing89%
H04LTransmission of digital information, e.g. telegraphic communication3%
G11BInformation storage based on relative movement between record carrier and transducer2%
G11CStatic stores2%
Y10STechnical subjects covered by former uspc cross-reference art collections [xracs] and digests1%
Y02DClimate change mitigation technologies in information and communication technologies [ict], i.e. information and communication technologies aiming at the reduction of their own energy use1%
Y02BClimate change mitigation technologies related to buildings, e.g. housing, house appliances or related end-user applications1%
Y04SSystems integrating technologies related to power network operation, communication or information technologies for improving the electrical power generation, transmission, distribution, management or usage, i.e. smart grids1%
PatentTitleYear
10,664,177Replicating tracks from a first storage site to a second and third storage sites202010,579,413Efficient task scheduling using a locking mechanism202010,540,296Thresholding task control blocks for staging and destaging202010,482,032Selective space reclamation of data storage memory employing heat and relocation metrics201910,157,082Preferential CPU utilization for tasks201810,152,423Selective population of secondary cache employing heat metrics201810,042,779Selective space reclamation of data storage memory employing heat and relocation metrics201810,031,808Raid 10 reads optimized for solid state drives201810,031,844NVS thresholding for efficient data management201810,007,600NVS thresholding for efficient data management20189,928,004'Assigning device adaptors to use to copy source extents to target extents in a copy relationship'20189,921,973'Cache management of track removal in a cache for storage'20189,870,323'Thresholding task control blocks for staging and destaging'20189,857,997'Replicating tracks from a first storage site to a second and third storage sites'20189,852,058NVS thresholding for efficient data management20179,852,059NVS thresholding for efficient data management20179,830,277Selective space reclamation of data storage memory employing heat and relocation metrics20179,804,971'Cache management of track removal in a cache for storage'20179,798,676'Managing caching of extents of tracks in a first cache, second cache and storage'20179,792,061'Efficient cache management of multi-target peer-to-peer remote copy (PPRC) modified sectors bitmap'20179,785,349'Efficient free-space management of multi-target peer-to-peer remote copy (PPRC) modified sectors bitmap in bind segments'20179,785,561'Integrating a flash cache into large storage systems'20179,785,553'Asynchronous cleanup after a peer-to-peer remote copy (PPRC) terminate relationship operation'20179,779,030'Grouping tracks for destaging'20179,733,991'Deferred re-MRU operations to reduce lock contention'20179,665,492'Fuzzy counters for NVS to reduce lock contention'20179,658,888'Thresholding task control blocks for staging and destaging'20179,632,941'Fuzzy counters for NVS to reduce lock contention'20179,626,113'Management of destage tasks with large number of ranks'20179,600,277'Asynchronous cleanup after a peer-to-peer remote copy (PPRC) terminate relationship operation'20179,594,511'Cascaded, point-in-time-copy architecture with data deduplication'20179,542,330'Systems and methods for background destaging storage tracks'20179,535,610'Optimizing peer-to-peer remote copy (PPRC) transfers for partial write operations using a modified sectors bitmap'20179,507,527'Efficient cache management of multi-target peer-to-peer remote copy (PPRC) modified sectors bitmap'20169,501,240'Efficient free-space management of multi-target peer-to-peer remote copy (PPRC) modified sectors bitmap in bind segments'20169,477,606'Adaptive record caching for solid state disks'20169,477,418'Assigning device adaptors to use to copy source extents to target extents in a copy relationship'20169,477,607'Adaptive record caching for solid state disks'20169,471,253'Use of flash cache to improve tiered migration performance'20169,471,506'Tiered caching and migration in differing granularities'20169,471,496'Demoting tracks from a first cache to a second cache by using a stride number ordering of strides in the second cache to consolidate strides in the second cache'20169,471,252'Use of flash cache to improve tiered migration performance'20169,465,554'Tiered caching and migration in differing granularities'20169,459,808'Automatically preventing large block writes from starving small block writes in a storage device'20169,442,848'Increased destaging efficiency by smoothing destaging between current and desired number of destage tasks'20169,442,847'Increased destaging efficiency by smoothing destaging between current and desired number of destage tasks'20169,442,660'Selective space reclamation of data storage memory employing heat and relocation metrics'20169,430,404'Thinly provisioned flash cache with shared storage pool'20169,430,395'Grouping and dispatching scans in cache'20169,424,196'Adjustment of the number of task control blocks allocated for discard scans'20169,417,999'Write peformance in solid state storage by recognizing copy source to target operations and only storing updates instead of entire block'20169,417,808'Promotion of partial data segments in flash cache'20169,411,742'Use of differing granularity heat maps for caching and migration'20169,411,738'Efficient processing of cache segment waiters'20169,405,669'Recovery from cache and NVS out of sync'20169,400,676'Preferential CPU utilization for tasks'20169,396,102'Recovery from cache and NVS out of sync'20169,396,017'Preferential CPU utilization for tasks'20169,396,114'Performing staging or destaging based on the number of waiting discard scans'20169,396,129'Synchronous and asynchronous discard scans based on the type of cache memory'20169,372,908'Merging an out of synchronization indicator and a change recording indicator in response to a failure in consistency group formation'20169,372,633'Indication of a destructive write via a notification from a disk drive that emulates blocks of a first block size within blocks of a second block size'20169,372,642'RAID 10 reads optimized for solid state drives'20169,367,598'Merging an out of synchronization indicator and a change recording indicator in response to a failure in consistency group formation'20169,367,479'Management of destage tasks with large number of ranks'20169,361,241'Grouping tracks for destaging'20169,342,463'Management of destage tasks with large number of ranks'20169,336,151'Performing asynchronous discard scans with staging and destaging operations'20169,335,930'Performing asynchronous discard scans with staging and destaging operations'20169,336,150'Performing asynchronous discard scans with staging and destaging operations'20169,323,694'Systems and methods for background destaging storage tracks'20169,323,687'Use of differing granularity heat maps for caching and migration'20169,323,464'Assigning device adaptors to use to copy source extents to target extents in a copy relationship'20169,317,447'Systems and methods for background destaging storage tracks'20169,311,253'Thinly provisioned flash cache with shared storage pool'20169,285,998'Tiered caching and migration in differing granularities'20169,286,227'Efficient processing of cache segment waiters'20169,280,485'Efficient cache volume sit scans'20169,274,975'Management of partial data segments in dual cache systems'20169,262,089'Use of flash cache to improve tiered migration performance'20169,262,088'Use of flash cache to improve tiered migration performance'20169,262,321'Adjustment of destage rate based on read and write response time requirements'20169,256,533'Adjustment of destage rate based on read and write response time requirements'20169,250,860'Automatically preventing large block writes from starving small block writes in a storage device'20169,251,231'Merging an out of synchronization indicator and a change recording indicator in response to a failure in consistency group formation'20169,251,233'Merging an out of synchronization indicator and a change recording indicator in response to a failure in consistency group formation'20169,235,525'Performing asynchronous discard scans with staging and destaging operations'20169,213,488'Adaptive record caching for solid state disks'20159,207,883'Indication of a destructive write via a notification from a disk drive that emulates blocks of a first block size within blocks of a second block size'20159,208,099'Adjustment of the number of task control blocks allocated for discard scans'20159,208,069'Fuzzy counters for NVS to reduce lock contention'20159,207,867'Adaptive record caching for solid state disks'20159,201,598'Apparatus and method for sharing resources between storage devices'20159,195,598'Synchronous and asynchronous discard scans based on the type of cache memory'20159,195,403'Replicating tracks from a first storage site to a second and third storage sites'20159,189,401'Synchronous and asynchronous discard scans based on the type of cache memory'20159,182,919'Assigning device adaptors to use to copy source extents to target extents in a copy relationship'20159,176,892'Performing staging or destaging based on the number of waiting discard scans'20159,176,893'Performing staging or destaging based on the number of waiting discard scans'20159,176,884'Promotion of partial data segments in flash cache'20159,158,471'Replicating tracks from a first storage site to a second and third storage sites'20159,158,673'Use of differing granularity heat maps for caching and migration'20159,158,706'Selective space reclamation of data storage memory employing heat and relocation metrics'20159,141,525'Adaptive prestaging in a storage controller'20159,135,173'Thinly provisioned flash cache with shared storage pool'20159,122,576'Fuzzy counters for NVS to reduce lock contention'20159,092,155'Cascaded, point-in-time-copy architecture with data deduplication'20159,086,818'Source-target relations mapping'20159,086,979'Management of partial data segments in dual cache systems'20159,081,511'Source-target relations mapping'20159,075,723'Efficient discard scans'20159,069,683'Systems and methods for destaging storage tracks from cache'20159,069,679'Adaptive record caching for solid state disks'20159,069,678'Adaptive record caching for solid state disks'20159,063,786'Preferential CPU utilization for tasks'20159,063,945'Apparatus and method to copy data'20159,063,863'Systems and methods for background destaging storage tracks'20159,058,121'Replicating tracks from a first storage site to a second and third storage sites'20159,058,217'Preferential CPU utilization for tasks'20159,043,551'Efficient processing of cache segment waiters'20159,043,544'Writing of new data of a first block size in a raid array that stores both parity and data in a second block size'20159,043,550'Adjustment of the number of task control blocks allocated for discard scans'20159,043,572'Automatically preventing large block writes from starving small block writes in a storage device'20159,043,543'Writing of new data of a first block size in a raid array that stores both parity and data in a second block size'20159,037,791'Tiered caching and migration in differing granularities'20159,032,153'Use of flash cache to improve tiered migration performance'20159,026,732'Demoting partial tracks from a first cache to a second cache'20159,021,221'Cascaded, point-in-time-copy architecture with data deduplication'20159,021,201'Demoting partial tracks from a first cache to a second cache'20158,996,789'Handling high priority requests in a sequential access storage device having a non-volatile storage cache'20158,996,813'Systems and methods for managing destage conflicts'20158,972,662'Dynamically adjusted threshold for population of secondary cache'20158,972,676'Assigning device adaptors and background tasks to use to copy source extents to target extents in a copy relationship'20158,972,661'Dynamically adjusted threshold for population of secondary cache'20158,966,178'Populating a first stride of tracks from a first cache to write to a second stride in a second cache'20158,959,279'Populating a first stride of tracks from a first cache to write to a second stride in a second cache'20158,954,668'Writing of data of a first block size in a raid array that stores and mirrors data in a second block size'20158,949,528'Writing of data of a first block size in a raid array that stores and mirrors data in a second block size'20158,949,536'Prefetching source tracks for destaging updated tracks in a copy relationship'20158,943,276'Efficient discard scans'20158,935,479'Adaptive cache promotions in a two level caching system'20158,935,476'Managing caching of extents of tracks in a first cache, second cache and storage'20158,935,477'Managing caching of extents of tracks in a first cache, second cache and storage'20158,935,462'Promotion of partial data segments in flash cache'20158,930,624'Adaptive cache promotions in a two level caching system'20158,918,607'Data archiving using data compression of a flash copy'20148,914,597'Data archiving using data compression of a flash copy'20148,892,834'Cyclic point-in-time-copy architecture with data deduplication'20148,880,835'Adjusting location of tiered storage residence based on usage patterns'20148,874,840'Adaptive prestaging in a storage controller'20148,850,106'Populating strides of tracks to demote from a first cache to a second cache'20148,850,147'Deleting relations in multi-target, point-in-time-copy architectures with data deduplication'20148,843,719'Multi-target, point-in-time-copy architecture with data duplication'20148,838,898'Efficient processing of cache segment waiters'20148,838,905'Periodic destages from inside and outside diameters of disks to improve read response time via traversal of a spatial ordering of tracks'20148,832,379'Efficient cache volume SIT scans'20148,832,377'Demoting tracks from a first cache to a second cache by using an occupancy of valid tracks in strides in the second cache to consolidate strides in the second cache'20148,825,957'Demoting tracks from a first cache to a second cache by using an occupancy of valid tracks in strides in the second cache to consolidate strides in the second cache'20148,825,953'Demoting tracks from a first cache to a second cache by using a stride number ordering of strides in the second cache to consolidate strides in the second cache'20148,825,944'Populating strides of tracks to demote from a first cache to a second cache'20148,825,973'Caching source blocks of data for target blocks of data'20148,825,975'Caching source blocks of data for target blocks of data'20148,825,956'Demoting tracks from a first cache to a second cache by using a stride number ordering of strides in the second cache to consolidate strides in the second cache'20148,825,952'Handling high priority requests in a sequential access storage device having a non-volatile storage cache'20148,819,343'Periodic destages from inside and outside diameters of disks to improve read response times'20148,819,291'Compression on thin provisioned volumes using extent based mapping'20148,812,798'Indication of a destructive write via a notification from a disk drive that emulates blocks of a first block size within blocks of a second block size'20148,812,785'Managing track discard requests to include in discard track messages'20148,806,122'Caching data in a storage system having multiple caches including non-volatile storage cache in a sequential access storage device'20148,799,578'Managing unmodified tracks maintained in both a first cache and a second cache'20148,793,436'Cache management of tracks in a first cache and a second cache for a storage'20148,788,742'Using an attribute of a write request to determine where to cache data in a storage system having multiple caches including non-volatile storage cache in a sequential access storage device'20148,782,362'Cyclic point-in-time-copy architecture with data deduplication'20148,775,729'Prefetching data tracks and parity data to use for destaging updated tracks'20148,762,650'Prefetching tracks using multiple caches'20148,762,646'Destaging of write ahead data set tracks'20148,762,645'Destaging of write ahead data set tracks'20148,762,674'Storage in tiered environment for colder data segments'20148,745,332'Cache management of tracks in a first cache and a second cache for a storage'20148,745,325'Using an attribute of a write request to determine where to cache data in a storage system having multiple caches including non-volatile storage cache in a sequential access storage device'20148,738,821'Selecting a path comprising ports on primary and secondary clusters to use to transmit data at a primary volume to a secondary volume'20148,732,402'Managing track discard requests to include in discard track messages'20148,719,504'Efficient processing of cache segment waiters'20148,719,529'Storage in tiered environment for colder data segments'20148,719,494'Management of partial data segments in dual cache systems'20148,700,854'Managing unmodified tracks maintained in both a first cache and a second cache'20148,688,913'Management of partial data segments in dual cache systems'20148,688,914'Promotion of partial data segments in flash cache'20148,683,130'Fabricating key fields'20148,677,062'Caching data in a storage system having multiple caches including non-volatile storage cache in a sequential access storage device'20148,667,180'Compression on thin provisioned volumes using extent based mapping'20148,667,237'Deleting relations in multi-target, point-in-time-copy architectures with data deduplication'20148,661,201'Systems and methods for managing destage conflicts'20148,661,202'Systems and methods for destaging storage tracks from cache'20148,661,203'Efficient track destage in secondary storage'20148,656,109'Systems and methods for background destaging storage tracks'20148,656,104'Prefetching source tracks for destaging updated tracks in a copy relationship'20148,650,354'Prefetching tracks using multiple caches'20148,639,877'Wear leveling of solid state disks distributed in a plurality of redundant array of independent disk ranks'20148,639,888'Systems and methods for managing cache destage scan times'20148,631,190'Prefetching data tracks and parity data to use for destaging updated tracks'20148,627,011'Managing metadata for data in a copy relationship'20148,595,433'Systems and methods for managing destage conflicts'20138,589,624'Systems and methods for background destaging storage tracks'20138,589,623'Systems and methods for managing cache destage scan times'20138,566,518'Intelligent write caching for sequential tracks'20138,566,530'Prefetching source tracks for destaging updated tracks in a copy relationship'20138,566,535'Systems and methods for destaging storage tracks from cache'20138,560,771'Efficient track destage in secondary storage'20138,549,220'Management of write cache using stride objects'20138,521,707'Validating stored copies of data images to load into memory'20138,468,312'Indication of a destructive write via a notification from a disk drive that emulates blocks of a first block size within blocks of a second block size'20138,458,134'Near continuous space-efficient data protection'20138,453,157'Thread synchronization in simultaneous multi-threaded processor machines'20138,443,141'Intelligent write caching for sequential tracks'20138,437,098'Magnetic disk drive using a non-volatile storage device as cache for modified tracks'20138,438,332'Apparatus and method to maintain write operation atomicity where a data transfer operation crosses a data storage medium track boundary'20138,432,632'Magnetic disk drive using a non-volatile storage device as cache for modified tracks'20138,433,870'Multiple incremental virtual copies'20138,429,363'Multiple incremental virtual copies'20138,341,237'Systems, methods and computer program products for automatically triggering operations on a queue pair'20128,332,589'Management of write cache using stride objects'20128,327,095'Maintaining information of a relationship of target volumes comprising logical copies of a source volume'20128,312,210'Apparatus, system, and method for storing and retrieving compressed data'20128,312,236'Apparatus and program storage device for providing triad copy of storage data'20128,266,325'Compression on thin provisioned volumes using extent based mapping'20128,250,323'Determining whether to use a repository to store data updated during a resynchronization'20128,244,695'Validating stored copies of data images to load into memory'20128,204,867'Apparatus, system, and method for enhanced block-level deduplication'20128,127,084'Using different algorithms to destage different types of data from cache'20128,095,738'Differential caching mechanism based on media I/O speed'20128,024,524'Method, system, and program for an adaptor to read and write to system memory'20117,991,972'Determining whether to use a full volume or repository for a logical copy backup space'20117,975,169'Memory preserved cache to prevent data loss'20117,958,310'Apparatus, system, and method for selecting a space efficient repository'20117,908,236'Using multiple data structures to manage data in cache'20117,899,897'System and program for dual agent processes and dual active server processes'20117,895,465'Memory preserved cache failsafe reboot mechanism'20117,873,864'Restricting the execution of copy services commands'20117,849,254'Create virtual track buffers in NVS using customer segments to maintain newly written data across a power loss'20107,802,029'System and article of manufacture for the detection of misdirected data'20107,783,839'Using different algorithms to destage different types of data from cache'20107,774,571'Resource allocation unit queue'20107,721,043'Managing write requests in cache directed to different storage groups'20107,702,864'Apparatus, system, and method for writing stripes in parallel to unique persistent storage devices'20107,681,047'Decryption of data in storage systems'20107,644,201'Method and system for performance enhancement via transaction verification using a counter value in a polled data storage environment'20107,627,716'Method, system, and program for an adaptor to read and write to system memory'20097,568,121'Recovery from failure in data storage systems'20097,562,284'Apparatus, system, and method for mandatory end to end integrity checking in a storage system'20097,536,593'Apparatus, system, and method for emergency backup'20097,533,292'Management method for spare disk drives in a raid system'20097,506,200'Apparatus and method to reconfigure a storage array disposed in a data storage system'20097,500,064'Data coherence system'20097,490,205'Method for providing a triad copy of storage data'20097,487,319'Resource allocation unit queue'20097,464,321'Apparatus and method to transfer information from a first information storage and retrieval system to a second information storage and retrieval system'20087,421,519'Method for the detection of misdirected data'20087,415,628'Restricting the execution of copy services commands'20087,386,676'Data coherence system'20087,379,989'Method for dual agent processes and dual active server processes'20087,376,806'Efficient maintenance of memory list'20087,376,863'Apparatus, system, and method for error checking and recovery of transmitted data in a SCSI environment'20087,337,277'Apparatus, system, and method for flushing cache data'20087,305,526'Method, system, and program for transferring data directed to virtual memory addresses to a device memory'20077,260,695'Scanning modified data during power loss'20077,260,679'Apparatus and method to manage a data cache using a first and second least recently used list'20077,254,669'Create virtual track buffers in NVS using customer segments to maintain newly written data across a power loss'20077,251,753'Apparatus, system, and method for identifying a faulty communication module'20077,219,267'Method, system, and program for data corruption detection and fault isolation'20077,191,465'Method, system, and program for processing complexes to access shared devices'20077,178,147'Method, system, and program for allocating processor resources to a first and second types of tasks'20077,171,610'Method, system, and article of manufacture for preventing data loss'20077,130,929'Method for configuring system adapters'20067,117,118'Efficient accumulation of performance statistics in a multi-port network'20067,107,400'System, apparatus, and process for evaluating projected cache sizes'20067,051,223'System, apparatus, and method for limiting non-volatile memory'20066,988,171'Method and system for recovery of meta data in a storage controller'20066,981,102'Method and system for managing meta data'20056,785,771'Method, system, and program for destaging data in cache'20046,775,738'Method, system, and program for caching data in a storage controller'20046,745,262'Method, system, program, and data structure for queuing requests having different priorities'20046,665,743'Method, system, and program for initializing a storage space'20036,658,542'Method and system for caching data in a storage system'20036,636,913'Data length control of access to a data bus'20036,578,102'Tracking and control of prefetch data in a PCI bus system'20036,535,937'Write command verification across a PCI bus system'20036,530,043'Write data error checking in a PCI Bus system'20036,513,097'Method and system for maintaining information about modified data in cache in a storage system for use during a system failure'20036,502,174'Method and system for managing meta data'20026,490,647'Flushing stale data from a PCI bus system read prefetch buffer'20026,438,661'Method, system, and program for managing meta data in a storage system and rebuilding lost meta data in cache'20026,425,050'Method, system, and program for performing read operations during a destage operation'20026,381,677'Method and system for staging data into cache'20026,327,644'Method and system for managing data in cache'20016,324,621'Data caching with a partially compressed cache'20016,189,117'Error handling between a processor and a system managed by the processor'20016,141,731'Method and system for managing data in cache using multiple data structures'20006,035,347'Secure store implementation on common platform storage subsystem (CPSS) by storing write data in non-volatile buffer'20005,930,481'System for concurrent cache data access by maintaining and selectively merging multiple ranked part copies'1999

Career & activity timeline

Assembled from patent assignee/location history and declaration credentials.

1984–2020Patents assigned to IBM (311)· patent assignee history
1984–2020Based in Tucson, AZ, US· patent location history
2000–2012Based in Tuscon, AZ, US· patent location history
2012–2018Patents assigned to BENHASE MICHAEL T (86)· patent assignee history
2012–2018Patents assigned to GUPTA LOKESH M (75)· patent assignee history
2012–2017Patents assigned to BENHASE MICHAEL THOMAS (21)· patent assignee history
2012–2016Patents assigned to KALOS MATTHEW J (20)· patent assignee history
2015Based in Tucscon, AZ, US· patent location history
2015Based in Tuson, AZ, US· patent location history

Inventor activity

Assignee and location history derived from the patent record.

Assignees
AssigneePatentsSpan
IBM3111984–2020
BENHASE MICHAEL Tself862012–2018
GUPTA LOKESH M752012–2018
BENHASE MICHAEL THOMASself212012–2017
KALOS MATTHEW J202012–2016
Locations
LocationPatentsSpan
Tucson, AZ, US3131984–2020
Tuscon, AZ, US22000–2012
Tucscon, AZ, US12015
Tuson, AZ, US12015