US 12,073,854 B2
Techniques and devices for qualitative disk writes performance anti-pattern detection and mitigation
Sheyas Binnamangala Prabhu, Santa Clara, CA (US); Anshul Dawra, Campbell, CA (US); Kaiehu H. Kaahaaina, Cupertino, CA (US); Ashish Patro, Santa Clara, CA (US); Akhil Bhutani, Sunnyvale, CA (US); Komlan J. Attiogbe, Dover, DE (US); Shefali Saboo, San Francisco, CA (US); and Phillip Azar, Oakland, CA (US)
Assigned to Apple Inc., Cupertino, CA (US)
Filed by APPLE INC., Cupertino, CA (US)
Filed on Oct. 13, 2021, as Appl. No. 17/500,746.
Claims priority of provisional application 63/197,205, filed on Jun. 4, 2021.
Prior Publication US 2022/0392486 A1, Dec. 8, 2022
Int. Cl. G11B 5/012 (2006.01); G06F 3/06 (2006.01); G06F 11/07 (2006.01)
CPC G11B 5/012 (2013.01) [G06F 3/061 (2013.01); G06F 3/0653 (2013.01); G06F 3/067 (2013.01); G06F 11/0793 (2013.01)] 20 Claims
OG exemplary drawing
 
1. A method performed by a server computer, the method comprising:
aggregating diagnostic logs received over a network from a plurality of electronic devices, each having a particular application installed, the diagnostic logs including information about call stacks within the particular application on the plurality of electronic devices for writing data to a storage device that is on each of the plurality of electronic devices,
wherein the diagnostic logs are received after an application crosses a threshold amount of writes to a disk within a predetermined time period;
filtering out a set of call-paths from the call stacks to obtain a set of functions;
identifying a set of call-path signatures from the set of functions, wherein a call-path signature corresponds to a function at a particular location in the call stack;
for each function of the set of call-path signatures, determining a cumulative measure of resources usage by the function across the electronic devices;
identifying at least one function from the set of call-path signatures matching one or more predetermined criteria associated with the cumulative measure;
determining a corrective action for the identified at least one function; and
providing the corrective action for the identified at least one function to a user of the server computer.