Inventor

Matthew G. Borlick

Inventor
Tucson, AZ, US

Overview

178→
Patents
2008–2021
Patent span
Physics
Primary field (CPC G)

Patents· 178 as inventor

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

G06Fprimary
G06FElectric digital data processing77%
H04LTransmission of digital information, e.g. telegraphic communication11%
G06NComputing arrangements based on specific computational models7%
G11CStatic stores3%
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%
G06QInformation and communication technology [ict] specially adapted for administrative, commercial, financial, managerial or supervisory purposes0%
Y10STechnical subjects covered by former uspc cross-reference art collections [xracs] and digests0%
PatentTitleYear
11,119,850Determining when to perform error checking of a storage unit by using a machine learning module202111,119,663Determining when to perform a data integrity check of copies of a data set by training a machine learning module202111,119,673Optimizing synchronous I/O for zHyperLink202111,119,660Determining when to replace a storage device by training a machine learning module202111,119,662Determining when to perform a data integrity check of copies of a data set using a machine learning module202111,119,851Determining when to perform error checking of a storage unit by training a machine learning module202111,120,128Offloading processing of writes to determine malicious data from a first storage system to a second storage system202111,099,743Determining when to replace a storage device using a machine learning module202111,093,399Selecting resources to make available in local queues for processors to use202111,086,535Thin provisioning using cloud based ranks202111,080,149Restore current version of a track from a non-volatile storage into a new location in cache202111,080,622Determining sectors of a track to stage into cache by training a machine learning module202111,074,118Reporting incidents of data loss in RAID arrays202111,074,197Integration of application indicated minimum time to cache and maximum time to cache to least recently used track demoting schemes in a cache management system of a storage controller202111,068,418Determining memory access categories for tasks coded in a computer program202111,068,413Allocation of cache storage among applications based on application priority and minimum retention time for tracks in least recently used demoting schemes202111,068,417Allocation of cache storage among applications that indicate minimum retention time for tracks in least recently used demoting schemes202111,062,232Determining sectors of a track to stage into cache using a machine learning module202111,061,784Monitoring correctable errors on a bus interface to determine whether to redirect input/output request (I/O) traffic to another bus interface202111,061,826Integration of application indicated minimum time to cache to least recently used track demoting schemes in a cache management system of a storage controller202111,055,013Recovering from data loss using copy services relationships between volumes202111,049,570Dynamic writes-per-day adjustment for storage drives202111,036,635Selecting resources to make available in local queues for processors to use202111,030,104Picket fence staging in a multi-tier cache202111,030,116Processing cache miss rates to determine memory space to add to an active cache to reduce a cache miss rate for the active cache202111,025,518Communicating health status when a management console is unavailable202111,023,029Preventing unexpected power-up failures of hardware components202111,003,496Performance-based multi-mode task dispatching in a multi-processor core system for high temperature avoidance202111,003,777Determining a frequency at which to execute trap code in an execution path of a process executing a program to generate a trap address range to detect potential malicious code202110,990,481Using alternate recovery actions for initial recovery actions in a computing system202110,983,885Recovering storage devices in a storage array having errors202110,983,836Transaction optimization during periods of peak activity202110,983,922Selecting one of multiple cache eviction algorithms to use to evict a track from the cache using a machine learning module202110,976,941Validation of storage volumes that are in a peer to peer remote copy relationship202110,970,209Destaging metadata tracks from cache202110,963,386Dynamically determining tracks to prestage from storage to cache by training a machine learning module202110,956,322Storage drive dependent track removal in a cache for storage202110,956,046Dynamic I/O load balancing for zHyperLink202110,949,354Distributed safe data commit in a data storage system202110,949,366Using a machine learning module to select a priority queue from which to process an input/output (I/O) request202110,949,277Monitoring correctable errors on a bus interface to determine whether to redirect input/output (I/O) traffic from a first processing unit to a second processing unit202110,929,034Allocation of task control blocks in a storage controller for staging and destaging based on storage rank response time202110,929,037Converting a RAID to a more robust RAID level202110,915,462Destaging pinned retryable data in cache202110,901,904Using a machine learning module to perform destages of tracks with holes in a storage system202110,891,227Determining modified tracks to destage during a cache scan202110,884,849Mirroring information on modified data from a primary storage controller to a secondary storage controller for the secondary storage controller to use to calculate parity data202110,866,752Reclaiming storage space in raids made up of heterogeneous storage drives202010,841,395Populating a secondary cache with unmodified tracks in a primary cache when redirecting host access from a primary server to a secondary server202010,831,668Detection and prevention of deadlock in a storage controller for cache access via a plurality of demote mechanisms202010,834,188Distribution of data in cloud storage based on policies maintained in metadata202010,831,559Processor thread management202010,831,597Receiving, at a secondary storage controller, information on modified data from a primary storage controller to use to calculate parity data202010,810,304Injecting trap code in an execution path of a process executing a program to generate a trap address range to detect potential malicious code202010,809,938Synchronized safe data commit scans in multiple data storage systems202010,795,602Selectively destaging data updates from write caches across data storage locations202010,783,049Virtual storage drive management in a data storage system202010,783,087Selecting one of multiple cache eviction algorithms to use to evict a track from the cache using a machine learning module202010,776,013Performing workload balancing of tracks in storage areas assigned to processing units202010,768,822Increasing storage capacity in heterogeneous storage arrays202010,754,780Maintaining track format metadata for target tracks in a target storage in a copy relationship with source tracks in a source storage202010,754,895Efficient metadata destage during safe data commit operation202010,747,596Determining when to send message to a computing node to process items using a machine learning module202010,740,007Synchronized primary-secondary role swaps with synchronized safe data commit scans202010,735,510Storage and application controller for mirroring and switchover of applications in a plurality of cloud locations via a plurality of configurable security protocols202010,732,884Implementing redundant array of independent disks (RAID) arrays having compressed data stored therein202010,725,776Reducing a rate at which requests are sent from one processor to another to reduce processor utilization at the processor receiving the requests202010,721,304Storage system using cloud storage as a rank202010,691,609Concurrent data erasure and replacement of processors202010,691,596Integration of the frequency of usage of tracks in a tiered storage system into a cache management system of a storage controller202010,691,518Handling zero fault tolerance events in machines where failure likely results in unacceptable loss202010,671,438Providing additional memory and cache for the execution of critical tasks by folding processing units of a processor complex202010,664,187Reducing a rate at which data is mirrored from a primary server to a secondary server202010,664,595Managing reads and writes to data entities experiencing a security breach from a suspicious process202010,656,848Data loss avoidance in multi-server storage systems202010,659,472Method, system, and computer program product for providing security and responsiveness in cloud based data storage and application execution202010,642,755Invoking demote threads on processors to demote tracks from a cache based on free cache segments202010,635,537Raid data loss prevention202010,628,089Processing of a set of pending operations for a switchover from a first storage resource to a second storage resource202010,628,241Determining when to send message to computing node to process items by training a machine learning module202010,613,981Detection and prevention of deadlock in a storage controller for cache access202010,606,826Fixing anomalies in a preserved data structure used to generate a temporary data structure during system initialization202010,606,776Adding dummy requests to a submission queue to manage processing queued requests according to priorities of the queued requests202010,592,432Adjusting active cache size based on cache usage202010,592,156I/O load balancing between virtual storage drives making up raid arrays202010,579,296Providing track format information when mirroring updated tracks from a primary storage system to a secondary storage system202010,579,476Using alternate recovery actions for initial recovery actions in a computing system202010,581,969Storage system using cloud based ranks as replica storage202010,572,355Transfer track format information for tracks in cache at a primary storage system to a secondary storage system to which tracks are mirrored to use after a failover or failback202010,564,867Validation of storage volumes that are in a peer to peer remote copy relationship202010,558,596Selecting a priority queue from which to process an input/output (I/O) request by training a machine learning module202010,552,330Wait classified cache writes in a data storage system202010,552,324Populating a second cache with tracks from a first cache when transferring management of the tracks from a first node to a second node202010,552,500Presenting a data instance based on presentation rules202010,545,553Preventing unexpected power-up failures of hardware components202010,545,795Determination of memory access patterns of tasks in a multi-core processor202010,540,295Processing cache miss rates to determine memory space to add to an active cache to reduce a cache miss rate for the active cache202010,540,246Transfer track format information for tracks in cache at a first processor node to a second process node to which the first processor node is failing over202010,528,435Performance efficient time locks on data in a storage controller202010,528,437Monitoring correctable errors on a bus interface to determine whether to redirect input/output request (I/O) traffic to another bus interface202010,528,339Cognitive feature based code level update202010,514,859Reduction of processing overhead for point in time copy to allow access to time locked data201910,514,721Validation of clock to provide security for time locked data201910,489,080Point in time copy of time locked data in a storage controller201910,466,751Supplemental power distribution voltage stabilization201910,445,497Offloading processing of writes to determine malicious data from a first storage system to a second storage system201910,430,264Monitoring correctable errors on a bus interface to determine whether to redirect input/output (I/O) traffic from a first processing unit to a second processing unit201910,417,069Handling zero fault tolerance events in machines where failure likely results in unacceptable loss201910,397,078Communicating health status when a management console is unavailable for a server in a mirror storage environment201910,394,713Selecting resources to make available in local queues for processors to use201910,387,272Restore current version of a track from a non-volatile storage into a new location in cache201910,379,943Management of foreground and background processes in a storage controller201910,379,905Distributing tracks to add to cache to processor cache lists based on counts of processor access requests to the cache201910,380,035Using an access increment number to control a duration during which tracks remain in cache201910,382,470Interacting with a remote server over a network to determine whether to allow data exchange with a resource at the remote server201910,372,371Dynamic data relocation using cloud based ranks201910,372,624Destaging pinned retryable data in cache201910,372,363Thin provisioning using cloud based ranks201910,346,317Determining cores to assign to cache hostile tasks201910,346,316Processing cache miss rates to determine memory space to add to an active cache to reduce a cache miss rate for the active cache201910,320,936Populating a secondary cache with unmodified tracks in a primary cache when redirecting host access from a primary server to a secondary server201910,318,352Distributing tracks to add to cache to processor cache lists based on counts of processor access requests to the cache201910,318,156Invoking input/output (I/O) threads on processors to demote tracks from a cache201910,310,738Avoid out of space outage in a thinly provisioned box201910,303,551Alternative port error recovery with limited system impact201910,282,543Determining whether to destage write data in cache to storage based on whether the write data has malicious data201910,282,303Using cache lists for processors to determine tracks to demote from a cache201910,275,280Reserving a core of a processor complex for a critical task201910,257,023Dual server based storage controllers with distributed storage of each server data in different clouds201910,248,464Providing additional memory and cache for the execution of critical tasks by folding processing units of a processor complex201910,248,577Using a characteristic of a process input/output (I/O) activity and data subject to the I/O activity to determine whether the process is a suspicious process201910,248,457Providing exclusive use of cache associated with a processing entity of a processor complex to a selected task201910,229,064Using cache lists for processors to determine tracks to demote from a cache201910,223,012Processing of a set of pending operations for a switchover from a first storage resource to a second storage resource201910,223,164Execution of critical tasks based on the number of available processing entities201910,223,274Maintaining track format metadata for target tracks in a target storage in a copy relationship with source tracks in a source storage201910,204,060Determining memory access categories to use to assign tasks to processor cores to execute201910,169,248Determining cores to assign to cache hostile tasks201910,171,585Method, system, and computer program product for distributed storage of data in a heterogeneous cloud201910,169,249Adjusting active cache size based on cache usage201910,154,044Method, system, and computer program product for providing security and responsiveness in cloud based data storage and application execution201810,127,152Populating a second cache with tracks from a first cache when transferring management of the tracks from a first node to a second node201810,120,598Validation of write data subsequent to destaging to auxiliary storage for completion of peer to peer remote copy201810,122,832Communications of usernames and passwords to a plurality of cloud storages via a plurality of communications protocols that change over time201810,114,753Using cache lists for multiple processors to cache and demote tracks in a storage system201810,108,552Using cache lists for processors to determine tracks to demote from a cache201810,082,958Invoking input/output (I/O) threads on processors to demote tracks from a cache201810,067,884Distributing a plurality of tracks to add to cache to lists assigned to processors201810,067,883Using an access increment number to control a duration during which tracks remain in cache201810,069,910Storage and application controller for mirroring and switchover of applications in a plurality of cloud locations via a plurality of configurable security protocols201810,013,181Distributed storage of data in a local storage and a heterogeneous cloud20189,971,508Invoking input/output (I/O) threads on processors to demote tracks from a cache20189,971,689Invoking input/output (I/O) threads and demote threads on processors to demote tracks from a cache20189,952,904Distributing tracks to add to cache to processor cache lists based on counts of processor access requests to the cache20189,952,982Invoking demote threads on processors to demote tracks indicated in demote ready lists from a cache when a number of free cache segments in the cache is below a free cache segment threshold20189,921,974'Assigning cache control blocks and cache lists to multiple processors to cache and demote tracks in a storage system'20189,910,609'Determining adjustments of storage device timeout values based on synchronous or asynchronous remote copy state'20189,880,903'Intelligent stress testing and raid rebuild to prevent data loss'20189,870,275'Processor thread management'20189,864,534'Validation of storage volumes that are in a peer to peer remote copy relationship'20189,858,148'Raid data loss prevention'20189,832,218Interacting with a remote server over a network to determine whether to allow data exchange with a resource at the remote server20179,824,030'Adjusting active cache size based on cache usage'20179,811,474'Determining cache performance using a ghost cache list indicating tracks demoted from a cache list of tracks in a cache'20179,800,481'Communicating health status when a management console is unavailable for a server in a mirror storage environment'20179,753,773'Performance-based multi-mode task dispatching in a multi-processor core system for extreme temperature avoidance'20179,747,139'Performance-based multi-mode task dispatching in a multi-processor core system for high temperature avoidance'20179,606,835'Determination of memory access patterns of tasks in a multi-core processor'20179,513,827'Determining adjustments of storage device timeout values based on synchronous or asynchronous remote copy state'20169,479,525'Interacting with a remote server over a network to determine whether to allow data exchange with a resource at the remote server'20169,459,972'Alternative port error recovery with limited system impact'20169,338,103'Injecting congestion in a link between adaptors in a network'20169,246,816'Injecting congestion in a link between adaptors in a network'20168,365,159'Apparatus and method to update code in an information storage and retrieval system while that system remains in normal operation'20137,769,953'Variable cache data retention system'20107,596,588'Managing files to be offloaded by multiple users into a common storage repository'20097,389,503'Apparatus and method to update code in an information storage and retrieval system while that system remains in normal operation'20087,376,792'Variable cache data retention system'2008

Career & activity timeline

Assembled from patent assignee/location history and declaration credentials.

2008–2021Patents assigned to IBM (175)· patent assignee history
2008–2021Based in Tucson, AZ, US· patent location history
2013Patents assigned to BORLICK MATTHEW G (1)· patent assignee history
2016Patents assigned to GLOBALFOUNDRIES INC (2)· patent assignee history
2016Patents assigned to GLOBALFOUNDRIES US 2 LLC (1)· patent assignee history
2018–2020Patents assigned to INT BUSINESS MACHINE CORPORATION (3)· patent assignee history

Inventor activity

Assignee and location history derived from the patent record.

Assignees
AssigneePatentsSpan
IBM1752008–2021
INT BUSINESS MACHINE CORPORATION32018–2020
GLOBALFOUNDRIES INC22016
BORLICK MATTHEW Gself12013
GLOBALFOUNDRIES US 2 LLC12016
Locations
LocationPatentsSpan
Tucson, AZ, US1782008–2021