IP Library Granted Patent US 12,693,786
Granted Patent B2
US 12,693,786 · App. 18/961,080 · Granted Jul 28, 2026

Systems, methods, and media for recovering worker shares from read prioritization

Inventors: Jonathan de Vries (Folsom, CA); Neelesh Vemula (Santa Clara, CA)
Assignee: SK hynix NAND Product Solutions Corp.
G06F3/0613G06F3/0653G06F3/0679
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 12,693,786
App. No.
18/961,080
Granted
Jul 28, 2026
Kind
B2
Abstract

Recovering worker shares from read prioritization including: while read accesses (RA) to a storage device (SD) are being prioritized over write accesses (WA) to the SD: determining a first count of RA to the SD; performing a first adjusting of a base read share percentage (RSP) to a first adjusted RSP for RA to the SD based on the first count of RA; and controlling read access to the SD based on the first adjusting; determining that RA to the SD have completed being prioritized over WA to the SD; and after RA to the SD have completed being prioritized: determining a second count of WA to the SD; performing a second adjusting of the first adjusted RSP to a second adjusted RSP for RA to the SD based on the second count of WA; and controlling write access to the SD based on the second adjusting.

Claims (47)

1 . A system for recovering worker shares from read prioritization, comprising:

memory; and

at least one hardware processor collectively configured to at least:

determine that read accesses to a storage device are being prioritized over write accesses to the storage device;

while read accesses to the storage device are being prioritized over write accesses to the storage device:

determine a first count of read accesses to the storage device;

perform a first adjusting of a base read share percentage to a first adjusted read share percentage for read accesses to the storage device based on the first count of read accesses such that the first adjusted read share percentage decreases as the first count of read accesses increases; and

control read access to the storage device based on the first adjusting;

determine that read accesses to the storage device have completed being prioritized over write accesses to the storage device; and

after read accesses to the storage device have completed being prioritized over write accesses to the storage device:

determine a second count of write accesses to the storage device;

performing a second adjusting of the first adjusted read share percentage to a second adjusted read share percentage for read accesses to the storage device based on the second count of write accesses such that the second adjusted read share percentage increases as the second count of write accesses increases; and

control write access to the storage device based on the second adjusting.

2 . The system of claim 1 , wherein the first adjusting of the base read share percentage to the first adjusted read share percentage for read accesses to the storage device based on the first count of read accesses comprises adjusting the base read share percentage to the first adjusted read share percentage for read accesses to the storage device based on a control parameter raised to the power of the first count of read accesses, wherein the control parameter is a value greater than zero and less than one.

3 . The system of claim 1 , wherein the second adjusting of the first adjusted read share percentage to the second adjusted read share percentage for read accesses to the storage device based on the second count of write accesses comprises adjusting the first adjusted read share percentage to the second adjusted read share percentage for read accesses to the storage device based on a control parameter raised to a product of a scaling factor and the second count of write accesses, wherein the control parameter is a value greater than zero and less than one and the scaling factor is a value greater than one.

4 . The system of claim 1 , wherein the second adjusting of the first adjusted read share percentage to the second adjusted read share percentage for read accesses to the storage device based on the second count of write accesses comprises adjusting the first adjusted read share percentage to the second adjusted read share percentage for read accesses to the storage device based on a minimum of: the base read share percentage; and the first adjusted read share percentage divided by a control parameter raised to a product of a scaling factor and the second count of write accesses, wherein the control parameter is a value greater than zero and less than one and the scaling factor is a value greater than one.

5 . The system of claim 1 , wherein the at least one hardware processor is further collectively configured to at least determine an adjusted worker read share percentage as a base worker read share percentage multiplied by the first adjusted read share percentage divided by the base read share percentage.

6 . A method for recovering worker shares from read prioritization, comprising:

determining using at least one hardware processor that read accesses to a storage device are being prioritized over write accesses to the storage device;

while read accesses to the storage device are being prioritized over write accesses to the storage device:

determining a first count of read accesses to the storage device;

performing a first adjusting of a base read share percentage to a first adjusted read share percentage for read accesses to the storage device based on the first count of read accesses such that the first adjusted read share percentage decreases as the first count of read accesses increases; and

controlling read access to the storage device based on the first adjusting;

determining that read accesses to the storage device have completed being prioritized over write accesses to the storage device; and

after read accesses to the storage device have completed being prioritized over write accesses to the storage device:

determining a second count of write accesses to the storage device;

performing second adjusting of the first adjusted read share percentage to a second adjusted read share percentage for read accesses to the storage device based on the second count of write accesses such that the second adjusted read share percentage increases as the second count of write accesses increases; and

controlling write access to the storage device based on the second adjusting.

7 . The method of claim 6 , wherein the first adjusting of the base read share percentage to the first adjusted read share percentage for read accesses to the storage device based on the first count of read accesses comprises adjusting the base read share percentage to the first adjusted read share percentage for read accesses to the storage device based on a control parameter raised to the power of the first count of read accesses, wherein the control parameter is a value greater than zero and less than one.

8 . The method of claim 6 , wherein the second adjusting of the first adjusted read share percentage to the second adjusted read share percentage for read accesses to the storage device based on the second count of write accesses comprises adjusting the first adjusted read share percentage to the second adjusted read share percentage for read accesses to the storage device based on a control parameter raised to a product of a scaling factor and the second count of write accesses, wherein the control parameter is a value greater than zero and less than one and the scaling factor is a value greater than one.

9 . The method of claim 6 , wherein the second adjusting of the first adjusted read share percentage to the second adjusted read share percentage for read accesses to the storage device based on the second count of write accesses comprises adjusting the first adjusted read share percentage to the second adjusted read share percentage for read accesses to the storage device based on a minimum of: the base read share percentage; and the first adjusted read share percentage divided by a control parameter raised to a product of a scaling factor and the second count of write accesses, wherein the control parameter is a value greater than zero and less than one and the scaling factor is a value greater than one.

10 . The method of claim 6 , further comprising determining an adjusted worker read share percentage as a base worker read share percentage multiplied by the first adjusted read share percentage divided by the base read share percentage.

11 . A non-transitory computer-readable medium containing computer executable instructions that, when executed by a processor, cause the processor to perform a method for recovering worker shares from read prioritization, the method comprising:

determining that read accesses to a storage device are being prioritized over write accesses to the storage device;

while read accesses to the storage device are being prioritized over write accesses to the storage device:

determining a first count of read accesses to the storage device;

performing a first adjusting of a base read share percentage to a first adjusted read share percentage for read accesses to the storage device based on the first count of read accesses such that the first adjusted read share percentage decreases as the first count of read accesses increases; and

controlling read access to the storage device based on the first adjusting;

determining that read accesses to the storage device have completed being prioritized over write accesses to the storage device; and

after read accesses to the storage device have completed being prioritized over write accesses to the storage device:

determining a second count of write accesses to the storage device;

performing a second adjusting of the first adjusted read share percentage to a second adjusted read share percentage for read accesses to the storage device based on the second count of write accesses such that the second adjusted read share percentage increases as the second count of write accesses increases; and

controlling write access to the storage device based on the second adjusting.

12 . The non-transitory computer-readable medium of claim 11 , wherein the first adjusting of the base read share percentage to the first adjusted read share percentage for read accesses to the storage device based on the first count of read accesses comprises adjusting the base read share percentage to the first adjusted read share percentage for read accesses to the storage device based on a control parameter raised to the power of the first count of read accesses, wherein the control parameter is a value greater than zero and less than one.

13 . The non-transitory computer-readable medium of claim 11 , wherein the second adjusting of the first adjusted read share percentage to the second adjusted read share percentage for read accesses to the storage device based on the second count of write accesses comprises adjusting the first adjusted read share percentage to the second adjusted read share percentage for read accesses to the storage device based on a control parameter raised to a product of a scaling factor and the second count of write accesses, wherein the control parameter is a value greater than zero and less than one and the scaling factor is a value greater than one.

14 . The non-transitory computer-readable medium of claim 11 , wherein the second adjusting of the first adjusted read share percentage to the second adjusted read share percentage for read accesses to the storage device based on the second count of write accesses comprises adjusting the first adjusted read share percentage to the second adjusted read share percentage for read accesses to the storage device based on a minimum of: the base read share percentage; and the first adjusted read share percentage divided by a control parameter raised to a product of a scaling factor and the second count of write accesses, wherein the control parameter is a value greater than zero and less than one and the scaling factor is a value greater than one.

15 . The non-transitory computer-readable medium of claim 11 , wherein the method further comprises determining an adjusted worker read share percentage as a base worker read share percentage multiplied by the first adjusted read share percentage divided by the base read share percentage.

Continuity (2)
Continuation 17949378 · Sep 21, 2022
Related Publication 20250094056A1 · Mar 20, 2025
References Cited (40)
US 7555621B1 · Pavlyushchik · 2009 [cited by applicant]
US 9213637B1 · Karamcheti et al. · 2015 [cited by applicant]
US 10860388B1 · Ozturk · 2020 [cited by applicant]
US 11314436B1 · Gahlot et al. · 2022 [cited by applicant]
US 20030023815A1 · Yoneyama et al. · 2003 [cited by applicant]
US 20030167385A1 · Lai et al. · 2003 [cited by applicant]
US 20040179479A1 · Thibodeau et al. · 2004 [cited by applicant]
US 20100180006A1 · Nourbakhsh et al. · 2010 [cited by applicant]
US 20130282962A1 · Rub et al. · 2013 [cited by applicant]
US 20140281260A1 · Peterson et al. · 2014 [cited by applicant]
US 20140325164A1 · Thompson et al. · 2014 [cited by applicant]
US 20160187959A1 · Nagarajan et al. · 2016 [cited by applicant]
US 20160224255A1 · Park · 2016 [cited by examiner]
US 20170358346A1 · Zhang et al. · 2017 [cited by applicant]
US 20180232178A1 · Iwaki et al. · 2018 [cited by applicant]
US 20180260251A1 · Beveridge et al. · 2018 [cited by applicant]
US 20200133585A1 · Muchheria et al. · 2020 [cited by applicant]
US 20210042233A1 · Lee et al. · 2021 [cited by applicant]
US 20210303340A1 · Li et al. · 2021 [cited by applicant]
US 20220189561A1 · Kamata et al. · 2022 [cited by applicant]
US 20220222013A1 · Shveidel et al. · 2022 [cited by applicant]
US 20220246187A1 · Shiraishi · 2022 [cited by applicant]
US 20220270655A1 · Ochiai · 2022 [cited by applicant]
US 20230062167A1 · Agarwal et al. · 2023 [cited by applicant]
US 20230229590A1 · Bi · 2023 [cited by applicant]
US 20230236758A1 · Gatto · 2023 [cited by applicant]
CN 111124253A · 2020 [cited by applicant]
CN 112416556A · 2021 [cited by applicant]
JP 2014013587 · 2014 [cited by applicant]
International Preliminary Report on Patentability dated Apr. 3, 2025 in International Patent Application No. PCT/US2023/033396, pp. 1-5. [cited by applicant]
International Preliminary Report on Patentability dated May 15, 2025 in International Patent Application No. PCT/US2023/035862, pp. 1-6. [cited by applicant]
International Search Report and Written Opinion dated Jan. 22, 2024 in International Patent Application No. PCT/US2023/033396, pp. 1-8. [cited by applicant]
International Search Report and Written Opinion dated Feb. 19, 2024 in International Patent Application No. PCT/US2023/035862, pp. 1-9. [cited by applicant]
Notice of Allowance dated Mar. 5, 2025 in U.S. Appl. No. 17/977,975, pp. 1-63. [cited by applicant]
Notice of Allowance dated Aug. 21, 2024 in U.S. Appl. No. 17/949,378, pp. 1-25. [cited by applicant]
Office Action dated Feb. 22, 2024 in U.S. Appl. No. 17/949,378, pp. 1-22. [cited by applicant]
Office Action dated Mar. 14, 2024 in U.S. Appl. No. 17/977,975, pp. 1-75. [cited by applicant]
Office Action dated Oct. 11, 2024 in U.S. Appl. No. 17/977,975, pp. 1-80. [cited by applicant]
Office Action dated Nov. 10, 2025 in CN Patent Application No. 202380067943.3, pp. 1-8. [cited by applicant]
Office Action dated May 5, 2026 in U.S. Appl. No. 19/173,293, pp. 1-61. [cited by applicant]