IP Library Granted Patent US 11,449,376
Granted Patent B2
US 11,449,376 · App. 17/340,827 · Granted Sep 20, 2022

Method of determining potential anomaly of memory device

Inventor: Aleksey Alekseevich Stankevichus (Moscow, RU)
Assignee: YANDEX EUROPE AG
G06F11/0727G06F11/3419G06F11/3428G06F11/3452G06F2201/81G06F2201/88
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 11,449,376
App. No.
17/340,827
Granted
Sep 20, 2022
Kind
B2
Abstract

A method of determining a potential anomaly of a memory device is executable at a supervisory entity computer communicatively coupled to the memory device. The method includes, over a pre-determined period of time, determining a subset of input/output (I/O) operations having been sent to the memory device for processing, applying at least one counter to determine an actual activity time of the memory device during the pre-determined period of time, applying a pre-determined model to generate an estimate of a benchmark processing time for each one of the subset of transactions, calculating a benchmark processing time for the subset of I/O operations, generating a performance parameter based on the actual activity time and the benchmark processing time, and based on an analysis of the performance parameter, determining if the potential anomaly is present in the memory device.

Claims (48)

1. A method of detecting a potential anomaly in a memory device, the memory device being an SSD for processing a plurality of I/O operations, the method executable at a supervisory entity computer, the supervisory entity computer being communicatively coupled to the memory device, the method comprising, over a pre-determined period of time:

determining a subset of input/output (I/O) operations having been sent to the memory device for processing;

applying at least one counter to determine an actual activity time of the memory device during the pre-determined period of time, the actual activity time being an approximation value representative of time the memory device took to process at least a portion of the subset of I/O operations, the at least one counter including a first counter for monitoring I/O operations sent to the SSD for processing and a second counter for monitoring confirmations of completed I/O operations received from the SSD, and applying the at least one counter including:

executing the first counter to monitor I/O operations sent to the SSD for processing during the pre-determined period of time,

executing the second counter to monitor confirmations of completed I/O operations received from the SSD during the pre-determined period of time, and

determining a total of all time periods within the pre-determined period of time during which a value of the first counter was equal to a value of the second counter;

applying a pre-determined model to generate an estimate of a benchmark processing time for each one of the subset of I/O operations;

calculating a benchmark processing time for the subset of I/O operations based on the estimates of benchmark processing time for the each one of the subset of I/O operations;

generating a performance parameter for the memory device based on the actual activity time and the benchmark processing time;

based on an analysis of the performance parameter, determining if the potential anomaly is present in the memory device.

2. The method of claim 1 , wherein calculating the benchmark processing time for the subset of I/O operations comprises summing up the estimates of the benchmark processing time for the each one of the subset of I/O operations.

3. The method of claim 1 , further comprising determining the performance parameter for each one of a plurality of memory devices, the SSD being one of the plurality of memory devices.

4. The method of claim 1 , wherein:

the SSD has at least one of a model number and a part number; and

the generating the performance parameter is further based on an SSD minimum delay pre-determined for a benchmark SSD, the benchmark SSD having the at least one of the model number and the part number as the SSD.

5. The method of claim 4 , wherein the pre-determined model is further based on an SSD minimum delay pre-determined for the benchmark SSD.

6. The method of claim 5 , wherein the pre-determined model is based on empirical testing of the benchmark SSD.

7. The method of claim 6 , wherein the empirical testing includes sending a pre-determined number of benchmarking I/O operations to the benchmark SSD.

8. The method of claim 7 , wherein the method further comprises generating the pre-determined model, the generating including: clearing an entirety of the benchmark SSD prior to the empirical testing of the benchmark SSD.

9. The method of claim 1 , wherein applying the at least one counter to determine the actual activity time of the SSD during the pre-determined period of time further includes subtracting from the pre-determined period of time the total of all time periods during which the value of the first counter was equal to the value of the second counter.

10. The method of claim 1 , further comprising building the pre-determined model before the SSD is put into use.

11. The method of claim 10 , wherein the building the pre-determined model comprises taking into account manufacturer-provided performance characteristics of the benchmark SSD.

12. The method of claim 1 , further comprising executing the analysis of the performance parameter.

13. The method of claim 12 , wherein:

the analysis comprises comparing the performance parameter to a threshold value; and

responsive to the performance parameter being above the threshold value, determining the potential anomaly as being present in a form of a potential malfunction of the SSD.

14. The method of claim 1 , wherein the SSD is one of a plurality of memory devices and wherein the analysis comprises determining a subset of the memory devices that have:

an average performance parameter over a second pre-determined time interval being above other average performance parameter of other ones of the plurality of memory devices; and

a maximum performance parameter over the second pre-determined time interval being above other maximum performance parameter of other ones of the plurality of memory devices.

15. The method of claim 1 , wherein:

the analysis comprises comparing the performance parameter to a threshold value; and

responsive to the performance parameter being below the threshold value, determining the potential anomaly as being present in a form of an over-performance of the SSD.

16. The method of claim 1 , wherein the applying the pre-determined model comprises, for a given one of the subset of I/O operations:

based on a size of the given one of the subset of I/O operations and a pre-determined speed of execution of the given one of the subset of I/O operations, determining an execution time of the given one of the subset of I/O operations; and

determining a total execution time for the subset of I/O operations based the execution time of each given one of the subset of I/O operations.

17. The method of claim 16 , wherein the total execution time for the subset of I/O operations includes an SSD minimum delay associated with each one of the subset of I/O operations.

18. The method of claim 16 , wherein the SSD minimum delay is pre-determined for the benchmark SSD.

19. The method of claim 1 , wherein the at least one counter is a single counter that generates an indication of the actual activity time of the SSD during the pre-determined period of time.

20. A computer-implemented system for detecting a potential anomaly in a memory device, the system comprising a supervisory entity computer, the supervisory entity computer being communicatively coupled to a memory device, the memory device being an SSD for processing a plurality of I/O operations, the supervisory entity computer having a processor and a non-transient memory communicatively coupled to the processor, the non-transient memory storing instructions thereon which when executed by the processor over a pre-determined period of time cause the supervisory entity computer to:

determine a subset of input/output (I/O) operations having been sent to the memory device for processing;

apply at least one counter to determine an actual activity time of the memory device during the pre-determined period of time, the actual activity time being an approximation value representative of time the memory device took to process at least a portion of the subset of I/O operations, the at least one counter including a first counter for monitoring I/O operations sent to the SSD for processing, a second counter for monitoring confirmations of completed I/O operations received from the SSD, and in applying the at least one counter, the processor being configured to:

execute the first counter to monitor I/O operations sent to the SSD for processing during the pre-determined period of time,

execute the second counter to monitor confirmations of completed I/O operations received from the SSD during the pre-determined period of time, and

determine a total of all time periods within the pre-determined period of time during which a value of the first counter was equal to a value of the second counter;

apply a pre-determined model to generate an estimate of a benchmark processing time for each one of the subset of I/O operations;

calculate a benchmark processing time for the subset of I/O operations based on the estimates of benchmark processing time for the each one of the subset of I/O operations;

generate a performance parameter for the memory device based on the actual activity time and the benchmark processing time;

based on an analysis of the performance parameter, determine if the potential anomaly is present in the memory device.

Assignments (6)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 9, 2024
From: DIRECT CURSUS TECHNOLOGY L.L.C
To: Y.E. HUB ARMENIA LLC
Reel/Frame 068534/0537 →
CORRECTIVE ASSIGNMENT TO CORRECT THE PROPERTY TYPE FROM APPLICATION 11061720 TO PATENT 11061720 AND APPLICATION 11449376 TO PATENT 11449376 PREVIOUSLY RECORDED ON REEL 065418 FRAME 0705. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded Nov 8, 2023
From: YANDEX EUROPE AG
To: DIRECT CURSUS TECHNOLOGY L.L.C
Reel/Frame 065531/0493 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 1, 2023
From: YANDEX EUROPE AG
To: DIRECT CURSUS TECHNOLOGY L.L.C
Reel/Frame 065418/0705 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 7, 2021
From: STANKEVICHUS, ALEKSEY ALEKSEEVICH
To: YANDEX.TECHNOLOGIES LLC
Reel/Frame 056458/0096 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 7, 2021
From: YANDEX.TECHNOLOGIES LLC
To: YANDEX LLC
Reel/Frame 056458/0866 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 7, 2021
From: YANDEX LLC
To: YANDEX EUROPE AG
Reel/Frame 056458/0893 →
Priority Claims (1)
RU RU2018132711 · Sep 14, 2018 · national
Continuity (2)
Division 16367537 · Mar 28, 2019
Related Publication 20210294518A1 · Sep 23, 2021