US 11,681,582 B2
Write lock conflicts in a storage network
Zachary J. Mark, Chicago, IL (US); Ilya Volvovski, Chicago, IL (US); and Greg R. Dhuse, Chicago, IL (US)
Assigned to Pure Storage, Inc., Mountain View, CA (US)
Filed by Pure Storage, Inc., Mountain View, CA (US)
Filed on Mar. 2, 2022, as Appl. No. 17/653,152.
Application 17/653,152 is a continuation of application No. 16/860,883, filed on Apr. 28, 2020, granted, now 11,294,765.
Application 16/860,883 is a continuation of application No. 16/145,305, filed on Sep. 28, 2018, granted, now 10,678,638, issued on Jun. 9, 2020.
Application 16/145,305 is a continuation in part of application No. 15/679,569, filed on Aug. 17, 2017, granted, now 10,169,150, issued on Jan. 1, 2019.
Application 15/679,569 is a continuation of application No. 15/351,628, filed on Nov. 15, 2016, granted, now 9,798,619, issued on Oct. 24, 2017.
Application 15/351,628 is a continuation of application No. 14/589,391, filed on Jan. 5, 2015, granted, now 9,529,834, issued on Dec. 27, 2016.
Claims priority of provisional application 61/944,742, filed on Feb. 26, 2014.
Prior Publication US 2022/0188191 A1, Jun. 16, 2022
This patent is subject to a terminal disclaimer.
Int. Cl. G11C 29/00 (2006.01); G06F 11/10 (2006.01); H03M 13/29 (2006.01); G06F 3/06 (2006.01); G06F 16/84 (2019.01); G06F 16/951 (2019.01); G06F 16/22 (2019.01); G06F 16/27 (2019.01); G06F 16/23 (2019.01); H03M 13/37 (2006.01); H03M 13/15 (2006.01)
CPC G06F 11/1076 (2013.01) [G06F 3/064 (2013.01); G06F 3/067 (2013.01); G06F 3/0619 (2013.01); G06F 11/1092 (2013.01); G06F 16/2237 (2019.01); G06F 16/2336 (2019.01); G06F 16/278 (2019.01); G06F 16/86 (2019.01); G06F 16/951 (2019.01); H03M 13/2906 (2013.01); H03M 13/3761 (2013.01); G06F 2211/1028 (2013.01); H03M 13/1515 (2013.01)] 20 Claims
OG exemplary drawing
 
1. A method for execution by a storage unit that includes a processor, the method comprises:
receiving a write slice request, wherein the write slice request includes a plurality of encoded data slices and wherein the write slice request corresponds to a range;
determining whether a write lock conflict exists based on the range;
issuing an unfavorable write slice response when the write lock conflict is determined to exist; and
when the write lock conflict is determined to not exist:
initiating local storage of the plurality of encoded data slices; and
issuing a favorable write slice response.