IP Library Granted Patent US 12,481,585
Granted Patent B1
US 12,481,585 · App. 18/887,855 · Granted Nov 25, 2025

Nonvolatile memory controller

Inventors: Andrey V. Kuzmin (Moscow, RU); Mike Jadon (Manhattan Beach, CA); Richard M. Mathews (Chatsworth, CA)
Assignee: Radian Memory Systems, LLC
G06F12/0246G06F3/061G06F3/0653G06F3/0679G06F2212/2022G06F2212/7207G06F2212/7208G06F2212/7211G11C16/102
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,481,585
App. No.
18/887,855
Granted
Nov 25, 2025
Kind
B1
Abstract

This disclosure provides for host-controller cooperation in managing NAND flash memory. The controller maintains information for each erase unit which tracks memory usage. This information assists the host in making decisions about specific operations, for example, initiating garbage collection, space reclamation, wear leveling or other operations. For example, metadata can be provided to the host identifying whether each page of an erase unit has been released, and the host can specifically then command each of consolidation and erase using direct addressing. By redefining host-controller responsibilities in this manner, much of the overhead association with FTL functions can be substantially removed from the memory controller, with the host directly specifying physical addresses. This reduces performance unpredictability and overhead, thereby facilitating integration of solid state drives (SSDs) with other forms of storage. The disclosed techniques are especially useful for direct-attached and/or network-attached storage.

Claims (93)

1 . A storage device comprising:

an interface to receive data access requests from a host device;

flash memory comprising erase units; and

logic to cause the storage device to:

issue commands to the flash memory responsive to the data access requests received from the host device via the interface;

update metadata respective to one or more subdivisions of addressable memory space, each of the one or more subdivisions corresponding to a subset of one or more of the erase units, wherein each of the one or more subdivisions is associated with a size and a respective logical address, the metadata respective to each of the one or more subdivisions representing an extent to which the respective subdivision is full;

receive one or more query commands from the host device and responsively transmit, to the host device, information identifying a size and a logical address of a specific subdivision of the one or more subdivisions, and, based on the metadata associated with the specific subdivision, information representing the extent to which the specific subdivision is full; and

receive a write request from the host device, wherein the write request logically addresses the specific subdivision, and responsively store write data in at least one of the one or more erase units of the subset corresponding to the specific subdivision;

wherein each said logic comprises at least one of hardware circuitry or instructions stored on non-transitory machine-readable media that are to control the function of hardware circuitry.

2 . The storage device of claim 1 , wherein the metadata further represents a time associated with the specific subdivision, and wherein the storage device further comprises logic to cause the storage device to transmit to the host device, responsive to the one or more query commands from the host device, information representing the time associated with the specific subdivision.

3 . The storage device of claim 1 , wherein the size of the specific subdivision corresponds to an amount of storage in the flash memory that is to be physically erased by the storage device, wherein the storage device is to receive one or more requests from the host device to deallocate storage of the flash memory associated with the specific subdivision, wherein the storage device further comprises logic to detect a condition in which all written storage of the flash memory associated with the specific subdivision has been deallocated, and wherein the storage device is to automatically physically erase the one or more erase units of the subdivision subset corresponding to the specific subdivision in response to detection of the condition.

4 . The storage device of claim 1 , wherein the size of the specific subdivision corresponds to a portion of the flash memory corresponding to a minimum amount of storage capacity to be physically erased by the storage device.

5 . The storage device of claim 1 , wherein the metadata further represents a time associated with the specific subdivision, and the logic is further to cause the storage device to:

compare the metadata with a threshold; and

upon detection, based on the metadata, that the time associated with the specific subdivision has satisfied the threshold, perform a maintenance operation which is directed to the one or more erase units of the subset corresponding to the specific subdivision.

6 . The storage device of claim 1 , wherein the storage device further comprises logic to cause the storage device to transmit, to the host device, in response to the one or more query commands, and based on the metadata, a remaining writeable capacity within the one or more erase units of the subset corresponding to the specific subdivision.

7 . The storage device of claim 1 , wherein the storage device further comprises logic to cause the storage device to transmit to the host device, responsive to the one or more query commands from the host device, information to indicate to the host device an extent to which the one or more erase units of the subset corresponding to the specific subdivision are unutilized and can continue to receive additional write data without the storage device first performing a maintenance operation.

8 . The storage device of claim 7 , wherein the storage device further comprises logic to cause the storage device to, in association with the storage of the write data, update the metadata which represents the extent, in a manner reflecting the storage of the write data.

9 . The storage device of claim 1 , wherein

the write request is a first write request;

the storage device further comprises logic to cause the storage device to detect an error in a specific erase unit of the one or more erase units in the subset corresponding to the specific subdivision;

the storage device is also to receive a second write request which logically addresses the specific subdivision; and

the storage device further comprises logic to cause the storage device to, in response to the second write request, cause the storage drive to map the specific subdivision to at least one different erase unit, and to write data which accompanies the second write request into the at least one different erase unit of the flash memory.

10 . The storage device of claim 1 , wherein the storage device further comprises logic to cause the storage device to:

store additional metadata representing a time associated with the specific subdivision;

compare the additional metadata with a threshold;

detect, based on the metadata, that the time associated with the specific subdivision has satisfied the threshold; and

responsive to the detection that the time associated with the specific subdivision has satisfied the threshold, copy the write data from the one or more erase units of the subset corresponding to the specific subdivision to one or more different erase units of the flash memory.

11 . The storage device of claim 1 , wherein the storage device further comprises logic to cause the storage device to store additional metadata for the specific subdivision where the additional metadata represents release status of storage locations, associated with the specific subdivision, which contain previously-written data.

12 . The storage device of claim 11 , wherein the storage device further comprises logic to cause the storage device to:

compare the release status represented by the additional metadata with a threshold;

detect, based on the additional metadata, that the release status satisfies the threshold; and

responsive to the detection that the release status satisfies the threshold, perform a maintenance operation which is directed to the one or more erase units of the subset corresponding to the specific subdivision.

13 . The storage device of claim 1 , wherein the storage device further comprises logic to cause the storage device to store additional metadata representing at least one of an erase count or a wear state associated with the one or more erase units of the subset corresponding to the specific subdivision.

14 . The storage device of claim 1 , wherein the storage device further comprises logic to cause the storage device to selectively associate the specific subdivision with exactly one of the erase units of the flash memory.

15 . The storage device of claim 1 , wherein:

the write request is a first write request;

the storage device is to receive, from the host device, write requests, including the first write request;

the storage device is to receive an additional query command from the host device;

the storage device further comprises logic to cause the storage device to transmit, to the host device, in response to the additional query command, an identification for each subdivision of the one or more respective subdivisions;

each of the write requests is accompanied by a bit field effective to select any one of the one or more respective subdivisions, according to a value of the bit field; and

the bit field which accompanies the first write request is effective to select the specific subdivision.

16 . The storage device of claim 1 , wherein the storage device further comprises logic to cause the storage device to receive a maintenance request, from the host device, which is directed to the specific subdivision, and to responsively control physical erasure of at least one of the one or more erase units of the subset corresponding to the specific subdivision.

17 . An apparatus comprising:

a host device having a host-side interface to transmit data access requests; and

a storage device having a device-side interface to receive the data access requests from the host device;

the storage device comprising:

flash memory comprising erase units;

logic to cause the storage device to:

issue commands to the flash memory responsive to the data access requests received from the host device;

update metadata respective to one or more subdivisions of addressable memory space, each of the one or more subdivisions corresponding to a subset of one or more of the erase units, wherein each of the one or more subdivisions is associated with a size and a respective logical address, the metadata respective to each of the one or more subdivisions representing an extent to which the respective subdivision is full;

receive one or more query commands from the host device and responsively transmit, to the host device, information identifying a size and a logical address of a specific subdivision of the one or more subdivisions, and, based on the metadata associated with the specific subdivision, information representing the extent to which the specific subdivision is full; and

receive a write request from the host device, wherein the write request logically addresses the specific subdivision, and responsively store write data in at least one of the one or more erase units of the subset corresponding to the specific subdivision;

wherein each said logic comprises at least one of hardware circuitry or instructions stored on non-transitory machine-readable media that are to control the function of hardware circuitry.

18 . The apparatus of claim 17 , wherein the size of the specific subdivision corresponds to an amount of storage in of the flash memory that is to be physically erased by the storage device, wherein the storage device is to receive one or more requests from the host device to deallocate storage of the flash memory associated with the specific subdivision, wherein the storage device further comprises logic to detect a condition in which all written storage of the flash memory associated with the specific subdivision has been deallocated, and wherein the storage device is to automatically physically erase the one or more erase units of the subdivision subset corresponding to the specific subdivision in response to detection of the condition.

19 . The apparatus of claim 17 , wherein the size of the specific subdivision corresponds to a portion of the flash memory corresponding to a minimum amount of storage capacity to be physically erased by the storage device.

20 . The apparatus of claim 17 , wherein the metadata further represents a time associated with the specific subdivision, and the logic is further to cause the storage device to:

compare the metadata with a threshold; and

upon detection, based on the metadata, that the time associated with the specific subdivision has satisfied the threshold, perform a maintenance operation which is directed to the one or more erase units of the subset corresponding to the specific subdivision.

21 . The apparatus of claim 17 , wherein the storage device further comprises logic to cause the storage device to transmit, to the host device, in response to the one or more query commands, and based on the metadata, a remaining writeable capacity within the one or more erase units of the subset corresponding to the specific subdivision.

22 . The apparatus of claim 17 , wherein the storage device further comprises logic to cause the storage device to transmit to the host device, responsive to the one or more query commands from the host device, information to indicate to the host device an extent to which the one or more erase units of the subset corresponding to the specific subdivision are unutilized and can continue to receive additional write data without the storage device first performing a maintenance operation.

23 . The apparatus of claim 22 , wherein the storage device further comprises logic to cause the storage device to, in association with the storage of the write data, update the metadata which represents the extent, in a manner reflecting the storage of the write data.

24 . The apparatus of claim 17 , wherein

the write request is a first write request;

the storage device further comprises logic to cause the storage device to detect an error in a specific erase unit of the one or more erase units in the subset corresponding to the specific subdivision;

the storage device is also to receive a second write request which logically addresses the specific subdivision; and

the storage device further comprises logic to cause the storage device to, in response to the second write request, cause the storage drive to map the specific subdivision to at least one different erase unit, and to write data which accompanies the second write request into the at least one different erase unit of the flash memory.

25 . The apparatus of claim 17 , wherein the storage device further comprises logic to cause the storage device to:

store additional metadata representing a time associated with the specific subdivision;

compare the additional metadata with a threshold;

detect, based on the metadata, that the time associated with the specific subdivision has satisfied the threshold; and

responsive to the detection that the time associated with the specific subdivision has satisfied the threshold, copy the write data from the one or more erase units of the subset corresponding to the specific subdivision to one or more different erase units of the flash memory.

26 . The apparatus of claim 17 , wherein the storage device further comprises logic to cause the storage device to store additional metadata for the specific subdivision where the additional metadata represents release status of storage locations, associated with the specific subdivision, which contain previously-written data.

27 . The apparatus of claim 26 , wherein the storage device further comprises logic to cause the storage device to:

compare the release status represented by the additional metadata with a threshold;

detect, based on the additional metadata, that the release status satisfies the threshold; and

responsive to the detection that the release status satisfies the threshold, perform a maintenance operation which is directed to the one or more erase units of the subset corresponding to the specific subdivision.

28 . The apparatus of claim 17 , wherein the storage device further comprises logic to cause the storage device to store additional metadata representing at least one of an erase count or a wear state associated with the one or more erase units of the subset corresponding to the specific subdivision.

29 . The apparatus of claim 17 , wherein:

the write request is a first write request;

the storage device is to receive, from the host device, write requests, including the first write request;

the storage device is to receive an additional query command from the host device;

the storage device further comprises logic to cause the storage device to transmit, to the host device, in response to the additional query command, an identification for each subdivision of the one or more respective subdivisions;

each of the write requests is accompanied by a bit field effective to select any one of the one or more respective subdivisions, according to a value of the bit field; and

the bit field which accompanies the first write request is effective to select the specific subdivision.

30 . The apparatus of claim 17 , wherein the storage device further comprises logic to cause the storage device to receive a maintenance request, from the host device, which is directed to the specific subdivision, and to responsively control physical erasure of the one or more erase units of the subset corresponding to the specific subdivision.

31 . A method of operating a storage device having an interface, flash memory comprising erase units, and logic comprising at least one of hardware circuitry or instructions, stored on non-transitory machine-readable media, that when executed, are to control the function of hardware circuitry, the method comprising:

receiving, with the interface, data access requests from a host device; and

via the logic, causing the storage device to:

issue commands to the flash memory responsive to the data access requests received from the host device via the interface;

update metadata respective to one or more subdivisions of addressable memory space, each of the one or more subdivisions corresponding to a subset of one or more of the erase units, wherein each of the one or more subdivisions is associated with a size and a respective logical address, the metadata respective to each of the one or more subdivisions representing an extent to which the respective subdivision is full;

receive one or more query commands from the host device and responsively transmit, to the host device, information identifying a size and a logical address of a specific subdivision of the one or more subdivisions, and, based on the metadata associated with the specific subdivision, information representing the extent to which the specific subdivision is full; and

receive a write request from the host device, wherein the write request logically addresses the specific subdivision, and responsively store write data in at least one of the one or more erase units of the subset corresponding to the specific subdivision.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 17, 2024
From: RADIAN MEMORY SYSTEMS, INC.
To: RADIAN MEMORY SYSTEMS, LLC
Reel/Frame 068614/0602 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 17, 2024
From: KUZMIN, ANDREY V.; JADON, MIKE; MATHEWS, RICHARD M.
To: RADIAN MEMORY SYSTEMS, INC.
Reel/Frame 068614/0766 →
Continuity (7)
Continuation 18403465 · Jan 3, 2024
Continuation 18073487 · Dec 1, 2022
Continuation 16997471 · Aug 19, 2020
Continuation 15625931 · Jun 16, 2017
Continuation 14466167 · Aug 22, 2014
Continuation 13767723 · Feb 14, 2013
Provisional Application 61757464 · Jan 28, 2013
References Cited (400)
US 4532590A · Wallach · 1985 [cited by applicant]
US 4813002A · Joyce · 1989 [cited by applicant]
US 5345575A · English · 1994 [cited by examiner]
US 5404485A · Ban · 1995 [cited by applicant]
US 5568423A · Jou et al. · 1996 [cited by applicant]
US 5652857A · Shimoi et al. · 1997 [cited by applicant]
US 5860082A · Smith et al. · 1999 [cited by applicant]
US 5963977A · Gold · 1999 [cited by applicant]
US 6118724A · Higgenbottom · 2000 [cited by applicant]
US 6134631A · Jennings, III · 2000 [cited by applicant]
US 6145069A · Dye · 2000 [cited by applicant]
US 6148354A · Ban · 2000 [cited by applicant]
US 6381668B1 · Lunteren · 2002 [cited by applicant]
US 6430650B1 · Miyauchi · 2002 [cited by applicant]
US 6571312B1 · Sugai · 2003 [cited by applicant]
US 6763424B2 · Conley · 2004 [cited by applicant]
US 6892287B1 · Millard · 2005 [cited by applicant]
US 6895464B2 · Chow · 2005 [cited by applicant]
US 7096378B2 · Stence et al. · 2006 [cited by applicant]
US 7120729B2 · Gonzalez · 2006 [cited by applicant]
US 7339823B2 · Nakayama et al. · 2008 [cited by applicant]
US 7383375B2 · Sinclair · 2008 [cited by applicant]
US 7404031B2 · Oshima · 2008 [cited by applicant]
US 7406563B1 · Nagshain · 2008 [cited by applicant]
US 7409489B2 · Sinclair · 2008 [cited by applicant]
US 7519869B2 · Mizuno · 2009 [cited by applicant]
US 7552272B2 · Gonzalez · 2009 [cited by applicant]
US 7555628B2 · Bennett · 2009 [cited by applicant]
US 7581078B2 · Ware · 2009 [cited by applicant]
US 7631138B2 · Gonzalez · 2009 [cited by applicant]
US 7702846B2 · Nakanishi et al. · 2010 [cited by applicant]
US 7702948B1 · Kalman · 2010 [cited by applicant]
US 7710777B1 · Mintierth · 2010 [cited by applicant]
US 7739444B2 · Sinclair · 2010 [cited by applicant]
US 7747813B2 · Danilak · 2010 [cited by applicant]
US 7752381B2 · Wong · 2010 [cited by applicant]
US 7801561B2 · Parikh et al. · 2010 [cited by applicant]
US 7809900B2 · Danilak · 2010 [cited by applicant]
US 7814262B2 · Sinclair · 2010 [cited by applicant]
US 7818489B2 · Karamcheti et al. · 2010 [cited by applicant]
US 7836244B2 · Kim et al. · 2010 [cited by applicant]
US 7861122B2 · Cornwell et al. · 2010 [cited by applicant]
US 7877540B2 · Sinclair · 2011 [cited by applicant]
US 7898855B2 · Merry · 2011 [cited by applicant]
US 7904619B2 · Danilak · 2011 [cited by applicant]
US 7904681B1 · Bappe · 2011 [cited by applicant]
US 7934074B2 · Lee · 2011 [cited by applicant]
US 7941692B2 · Royer et al. · 2011 [cited by applicant]
US 7970983B2 · Nochimowski · 2011 [cited by applicant]
US 7984233B2 · Sinclair · 2011 [cited by applicant]
US 7991944B2 · Lee et al. · 2011 [cited by applicant]
US 8001318B1 · Iyer · 2011 [cited by applicant]
US 8024545B2 · Kim et al. · 2011 [cited by applicant]
US 8046524B2 · Tringali · 2011 [cited by applicant]
US 8055833B2 · Danilak et al. · 2011 [cited by applicant]
US 8065471B2 · Yano et al. · 2011 [cited by applicant]
US 8065473B2 · Ito et al. · 2011 [cited by applicant]
US 8068365B2 · Kim · 2011 [cited by applicant]
US 8069284B2 · Oh · 2011 [cited by applicant]
US 8072463B1 · Van Dyke · 2011 [cited by applicant]
US 8074022B2 · Okin et al. · 2011 [cited by applicant]
US 8082389B2 · Fujibayashi · 2011 [cited by applicant]
US 8086790B2 · Roohparvar · 2011 [cited by applicant]
US 8099581B2 · Bennett · 2012 [cited by applicant]
US 8099632B2 · Tringali · 2012 [cited by applicant]
US 8140821B1 · Raizen · 2012 [cited by applicant]
US 8195912B2 · Flynn · 2012 [cited by applicant]
US 8219776B2 · Forhan · 2012 [cited by applicant]
US 8285918B2 · Maheshwari · 2012 [cited by applicant]
US 8291151B2 · Sinclair · 2012 [cited by applicant]
US 8291295B2 · Harari · 2012 [cited by applicant]
US 8301861B2 · Reiter · 2012 [cited by applicant]
US 8341339B1 · Boyle · 2012 [cited by applicant]
US 8347042B2 · You · 2013 [cited by applicant]
US 8386700B2 · Olbrich · 2013 [cited by applicant]
US 8402249B1 · Zhu · 2013 [cited by applicant]
US 8423710B1 · Gole · 2013 [cited by applicant]
US 8429359B1 · Desai · 2013 [cited by examiner]
US 8495280B2 · Kang · 2013 [cited by applicant]
US 8538919B1 · Nielsen · 2013 [cited by examiner]
US 8539197B1 · Marshall · 2013 [cited by applicant]
US 8572331B2 · Shalvi · 2013 [cited by applicant]
US 8593678B2 · Ohishi · 2013 [cited by examiner]
US 8601202B1 · Melcher · 2013 [cited by applicant]
US 8621137B2 · Olbrich · 2013 [cited by applicant]
US 8626989B2 · Van Aken · 2014 [cited by applicant]
US 8645634B1 · Cox et al. · 2014 [cited by applicant]
US 8668894B2 · Liu et al. · 2014 [cited by applicant]
US 8700961B2 · Lassa · 2014 [cited by applicant]
US 8886899B1 · Bao · 2014 [cited by applicant]
US 8898410B1 · Ehrenberg · 2014 [cited by applicant]
US 8954708B2 · Kim · 2015 [cited by applicant]
US 8959307B1 · Bruce · 2015 [cited by applicant]
US 8996796B1 · Karamcheti · 2015 [cited by applicant]
US 9063844B2 · Higgins · 2015 [cited by applicant]
US 9075705B2 · Hikichi · 2015 [cited by examiner]
US 9092182B2 · Ohishi · 2015 [cited by examiner]
US 9123443B2 · Chung · 2015 [cited by applicant]
US 9128624B2 · Ng · 2015 [cited by applicant]
US 9134918B2 · Yurzola · 2015 [cited by applicant]
US 9176864B2 · Gorobets · 2015 [cited by applicant]
US 9229854B1 · Kuzmin et al. · 2016 [cited by applicant]
US 9239781B2 · Jones (Ellis) · 2016 [cited by applicant]
US 9286198B2 · Bennett · 2016 [cited by applicant]
US 9329986B2 · Li · 2016 [cited by applicant]
US 9335939B2 · Bennett et al. · 2016 [cited by applicant]
US 9344596B2 · Ohishi · 2016 [cited by examiner]
US 9348749B2 · Choi · 2016 [cited by applicant]
US 9378149B1 · Bonwick · 2016 [cited by applicant]
US 9383926B2 · Law · 2016 [cited by applicant]
US 9400749B1 · Kuzmin et al. · 2016 [cited by applicant]
US 9405621B2 · Yu · 2016 [cited by applicant]
US 9519578B1 · Kuzmin et al. · 2016 [cited by applicant]
US 9542118B1 · Lercari et al. · 2017 [cited by applicant]
US 9565269B2 · Malwankar · 2017 [cited by applicant]
US 9575672B2 · Yamamoto · 2017 [cited by applicant]
US 9588904B1 · Lercari et al. · 2017 [cited by applicant]
US 9652376B2 · Kuzmin et al. · 2017 [cited by applicant]
US 9696917B1 · Sareena et al. · 2017 [cited by applicant]
US 9710377B1 · Kuzmin et al. · 2017 [cited by applicant]
US 9727454B2 · Kuzmin et al. · 2017 [cited by applicant]
US 9734086B2 · Flynn · 2017 [cited by applicant]
US 9785572B1 · Lercari et al. · 2017 [cited by applicant]
US 9800291B1 · Ben David · 2017 [cited by examiner]
US 9846541B2 · Miyamoto et al. · 2017 [cited by applicant]
US 9858008B2 · Liu · 2018 [cited by applicant]
US 10048884B2 · Mylly · 2018 [cited by applicant]
US 10067866B2 · Sutardja · 2018 [cited by applicant]
US 10445229B1 · Kuzmin et al. · 2019 [cited by applicant]
US 10552058B1 · Jadon et al. · 2020 [cited by applicant]
US 10552085B1 · Chen et al. · 2020 [cited by applicant]
US 10642505B1 · Kuzmin · 2020 [cited by applicant]
US 10642748B1 · Lercari · 2020 [cited by applicant]
US 10838853B1 · Kuzmin · 2020 [cited by applicant]
US 10884915B1 · Kuzmin · 2021 [cited by applicant]
US 10915458B1 · Lercari · 2021 [cited by applicant]
US 10956082B1 · Kuzmin · 2021 [cited by applicant]
US 10977188B1 · Lercari · 2021 [cited by applicant]
US 10983907B1 · Kuzmin · 2021 [cited by applicant]
US 10996863B1 · Kuzmin · 2021 [cited by applicant]
US 11003586B1 · Lercari · 2021 [cited by applicant]
US 11023315B1 · Jadon · 2021 [cited by applicant]
US 11023386B1 · Lercari · 2021 [cited by applicant]
US 11023387B1 · Lercari · 2021 [cited by applicant]
US 11048643B1 · Lercari · 2021 [cited by applicant]
US 11068408B2 · Kim · 2021 [cited by applicant]
US 11074175B1 · Kuzmin · 2021 [cited by applicant]
US 11080181B1 · Kuzmin · 2021 [cited by applicant]
US 11086789B1 · Lercari · 2021 [cited by applicant]
US 11100006B1 · Lercari · 2021 [cited by applicant]
US 11163492B2 · Kamran · 2021 [cited by applicant]
US 11175984B1 · Lercari · 2021 [cited by applicant]
US 11188457B1 · Kuzmin · 2021 [cited by applicant]
US 11216365B1 · Kuzmin · 2022 [cited by applicant]
US 11221959B1 · Lercari · 2022 [cited by applicant]
US 11221960B1 · Lercari · 2022 [cited by applicant]
US 11221961B1 · Lercari · 2022 [cited by applicant]
US 11249652B1 · Kuzmin · 2022 [cited by applicant]
US 11314636B1 · Kuzmin · 2022 [cited by applicant]
US 11334476B2 · Kuzmin · 2022 [cited by applicant]
US 11347638B1 · Kuzmin · 2022 [cited by applicant]
US 11347639B1 · Kuzmin · 2022 [cited by applicant]
US 11354234B1 · Kuzmin · 2022 [cited by applicant]
US 11354235B1 · Kuzmin · 2022 [cited by applicant]
US 11449240B1 · Jadon · 2022 [cited by applicant]
US 11487678B2 · Park · 2022 [cited by applicant]
US 11500766B2 · Bueb · 2022 [cited by applicant]
US 11544183B1 · Kuzmin · 2023 [cited by applicant]
US 11580030B2 · Das · 2023 [cited by applicant]
US 11675708B1 · Lercari · 2023 [cited by applicant]
US 11704043B1 · Throgmorton · 2023 [cited by examiner]
US 11704237B1 · Kuzmin · 2023 [cited by applicant]
US 11899575B1 · Kuzmin · 2024 [cited by applicant]
US 20030028733A1 · Tsunoda et al. · 2003 [cited by applicant]
US 20030037071A1 · Harris · 2003 [cited by applicant]
US 20030065866A1 · Spencer · 2003 [cited by applicant]
US 20030188032A1 · Solomon · 2003 [cited by applicant]
US 20040083335A1 · Gonzalez · 2004 [cited by applicant]
US 20040117414A1 · Braun · 2004 [cited by examiner]
US 20050073844A1 · Gonzalez · 2005 [cited by applicant]
US 20050073884A1 · Gonzalez · 2005 [cited by applicant]
US 20050144367A1 · Sinclair · 2005 [cited by applicant]
US 20050144413A1 · Kuo · 2005 [cited by applicant]
US 20050160227A1 · Todd · 2005 [cited by applicant]
US 20050193161A1 · Lee · 2005 [cited by applicant]
US 20050216692A1 · Watanabe · 2005 [cited by examiner]
US 20050248993A1 · Lee · 2005 [cited by applicant]
US 20060004957A1 · Hand, III · 2006 [cited by applicant]
US 20060005074A1 · Yanai · 2006 [cited by examiner]
US 20060022171A1 · Leist · 2006 [cited by applicant]
US 20060155920A1 · Smith · 2006 [cited by applicant]
US 20070019481A1 · Park · 2007 [cited by applicant]
US 20070033378A1 · Sinclair · 2007 [cited by applicant]
US 20070046681A1 · Nagashima · 2007 [cited by applicant]
US 20070058431A1 · Chung et al. · 2007 [cited by applicant]
US 20070091497A1 · Mizuno · 2007 [cited by applicant]
US 20070136555A1 · Sinclair · 2007 [cited by applicant]
US 20070143569A1 · Sanders · 2007 [cited by applicant]
US 20070168321A1 · Saito · 2007 [cited by applicant]
US 20070233939A1 · Kim · 2007 [cited by applicant]
US 20070260811A1 · Merry, Jr. et al. · 2007 [cited by applicant]
US 20070260841A1 · Hampel · 2007 [cited by applicant]
US 20070283428A1 · Ma et al. · 2007 [cited by applicant]
US 20070294496A1 · Goss · 2007 [cited by applicant]
US 20080005502A1 · Kanai · 2008 [cited by applicant]
US 20080034153A1 · Lee · 2008 [cited by applicant]
US 20080082596A1 · Gorobets · 2008 [cited by applicant]
US 20080126720A1 · Danilak · 2008 [cited by applicant]
US 20080126724A1 · Danilak · 2008 [cited by applicant]
US 20080140902A1 · Townsend · 2008 [cited by examiner]
US 20080147964A1 · Chow · 2008 [cited by applicant]
US 20080155183A1 · Zhuang · 2008 [cited by examiner]
US 20080155204A1 · Qawami et al. · 2008 [cited by applicant]
US 20080189485A1 · Jung · 2008 [cited by applicant]
US 20080189490A1 · Cheon · 2008 [cited by applicant]
US 20080195833A1 · Park · 2008 [cited by applicant]
US 20080201517A1 · Kuhne · 2008 [cited by applicant]
US 20080209114A1 · Chow · 2008 [cited by applicant]
US 20080256287A1 · Lee · 2008 [cited by applicant]
US 20080294813A1 · Gorobets · 2008 [cited by applicant]
US 20080307020A1 · Ko · 2008 [cited by examiner]
US 20080307192A1 · Sinclair · 2008 [cited by applicant]
US 20080320214A1 · Ma · 2008 [cited by examiner]
US 20080320476A1 · Wingard · 2008 [cited by applicant]
US 20090036163A1 · Kimbrell · 2009 [cited by applicant]
US 20090041230A1 · Williams · 2009 [cited by examiner]
US 20090044190A1 · Tringali · 2009 [cited by applicant]
US 20090046533A1 · Jo · 2009 [cited by applicant]
US 20090083478A1 · Kunimatsu · 2009 [cited by applicant]
US 20090089482A1 · Traister · 2009 [cited by applicant]
US 20090089490A1 · Ozawa et al. · 2009 [cited by applicant]
US 20090119529A1 · Kono · 2009 [cited by applicant]
US 20090138671A1 · Danilak · 2009 [cited by applicant]
US 20090144497A1 · Withers · 2009 [cited by applicant]
US 20090172219A1 · Mardiks · 2009 [cited by applicant]
US 20090172246A1 · Afriat · 2009 [cited by applicant]
US 20090172250A1 · Allen et al. · 2009 [cited by applicant]
US 20090172257A1 · Prins · 2009 [cited by applicant]
US 20090172499A1 · Olbrich · 2009 [cited by applicant]
US 20090182964A1 · Greiner · 2009 [cited by applicant]
US 20090198946A1 · Ebata · 2009 [cited by applicant]
US 20090210616A1 · Karamcheti · 2009 [cited by applicant]
US 20090210636A1 · Karamcheti · 2009 [cited by applicant]
US 20090216992A1 · Greiner · 2009 [cited by applicant]
US 20090240903A1 · Sauber · 2009 [cited by applicant]
US 20090254689A1 · Karamcheti · 2009 [cited by applicant]
US 20090254705A1 · Abali et al. · 2009 [cited by applicant]
US 20090271562A1 · Sinclair · 2009 [cited by applicant]
US 20090282301A1 · Flynn · 2009 [cited by examiner]
US 20090292839A1 · Oh · 2009 [cited by applicant]
US 20090300015A1 · Kazan et al. · 2009 [cited by applicant]
US 20090327602A1 · Moore et al. · 2009 [cited by applicant]
US 20100011085A1 · Taguchi · 2010 [cited by applicant]
US 20100011186A1 · Bennett · 2010 [cited by applicant]
US 20100023566A1 · Minamino · 2010 [cited by applicant]
US 20100030946A1 · Kano · 2010 [cited by applicant]
US 20100042655A1 · Tse et al. · 2010 [cited by applicant]
US 20100049908A1 · Gonzalez · 2010 [cited by applicant]
US 20100083050A1 · Ohyama · 2010 [cited by applicant]
US 20100106734A1 · Calder · 2010 [cited by applicant]
US 20100115172A1 · Gillingham et al. · 2010 [cited by applicant]
US 20100115182A1 · Murugesan · 2010 [cited by examiner]
US 20100125702A1 · Lee · 2010 [cited by applicant]
US 20100142275A1 · Yogev · 2010 [cited by examiner]
US 20100146239A1 · Gabai · 2010 [cited by examiner]
US 20100153660A1 · Lasser · 2010 [cited by examiner]
US 20100161882A1 · Stern et al. · 2010 [cited by applicant]
US 20100162012A1 · Cornwell et al. · 2010 [cited by applicant]
US 20100172179A1 · Gorobets · 2010 [cited by examiner]
US 20100182838A1 · Kim et al. · 2010 [cited by applicant]
US 20100191779A1 · Hinrichs · 2010 [cited by applicant]
US 20100199065A1 · Kaneda · 2010 [cited by applicant]
US 20100211737A1 · Flynn · 2010 [cited by applicant]
US 20100241866A1 · Rodorff · 2010 [cited by applicant]
US 20100262761A1 · Borchers et al. · 2010 [cited by applicant]
US 20100262762A1 · Borchers · 2010 [cited by applicant]
US 20100262765A1 · Cheon · 2010 [cited by applicant]
US 20100262773A1 · Borchers · 2010 [cited by applicant]
US 20100281230A1 · Rabii et al. · 2010 [cited by applicant]
US 20100287217A1 · Borchers et al. · 2010 [cited by applicant]
US 20100287327A1 · Li · 2010 [cited by applicant]
US 20100287332A1 · Koshiyama · 2010 [cited by applicant]
US 20100299494A1 · Van Acht · 2010 [cited by applicant]
US 20100329011A1 · Lee et al. · 2010 [cited by applicant]
US 20110033548A1 · Kimmel et al. · 2011 [cited by applicant]
US 20110041039A1 · Harari · 2011 [cited by applicant]
US 20110055445A1 · Gee et al. · 2011 [cited by applicant]
US 20110060887A1 · Thatcher · 2011 [cited by examiner]
US 20110066792A1 · Shaeffer · 2011 [cited by applicant]
US 20110125956A1 · Danilak · 2011 [cited by applicant]
US 20110126045A1 · Bennett · 2011 [cited by applicant]
US 20110138114A1 · Yen · 2011 [cited by applicant]
US 20110153911A1 · Sprouse · 2011 [cited by applicant]
US 20110153917A1 · Maita · 2011 [cited by applicant]
US 20110161784A1 · Sellinger et al. · 2011 [cited by applicant]
US 20110167199A1 · Danilak · 2011 [cited by applicant]
US 20110197014A1 · Yeh · 2011 [cited by applicant]
US 20110197023A1 · Iwamitsu et al. · 2011 [cited by applicant]
US 20110231623A1 · Goss · 2011 [cited by applicant]
US 20110236049A1 · Haga · 2011 [cited by examiner]
US 20110238890A1 · Sukegawa · 2011 [cited by applicant]
US 20110238892A1 · Tsai · 2011 [cited by applicant]
US 20110238943A1 · Devendran et al. · 2011 [cited by applicant]
US 20110264843A1 · Haines · 2011 [cited by applicant]
US 20110271032A1 · Yamada · 2011 [cited by applicant]
US 20110276756A1 · Bish et al. · 2011 [cited by applicant]
US 20110283043A1 · Schuette · 2011 [cited by applicant]
US 20110289263A1 · McWilliams · 2011 [cited by applicant]
US 20110296089A1 · Seol · 2011 [cited by applicant]
US 20110296133A1 · Flynn · 2011 [cited by examiner]
US 20110302477A1 · Goss · 2011 [cited by applicant]
US 20110314209A1 · Eckstein · 2011 [cited by applicant]
US 20120011340A1 · Flynn · 2012 [cited by examiner]
US 20120033519A1 · Confalonieri et al. · 2012 [cited by applicant]
US 20120054419A1 · Chen · 2012 [cited by applicant]
US 20120059972A1 · Chen · 2012 [cited by applicant]
US 20120066441A1 · Weingarten · 2012 [cited by applicant]
US 20120072654A1 · Olbrich · 2012 [cited by applicant]
US 20120072807A1 · Comwell · 2012 [cited by applicant]
US 20120079174A1 · Nellans · 2012 [cited by applicant]
US 20120096217A1 · Son · 2012 [cited by applicant]
US 20120131270A1 · Hemmi · 2012 [cited by applicant]
US 20120131381A1 · Eleftheriou · 2012 [cited by applicant]
US 20120155492A1 · Abel · 2012 [cited by applicant]
US 20120159039A1 · Kegel et al. · 2012 [cited by applicant]
US 20120191921A1 · Shaeffer · 2012 [cited by applicant]
US 20120198123A1 · Post · 2012 [cited by applicant]
US 20120198128A1 · Van Aken · 2012 [cited by applicant]
US 20120198129A1 · Van Aken · 2012 [cited by applicant]
US 20120204079A1 · Takefman et al. · 2012 [cited by applicant]
US 20120221776A1 · Yoshihashi · 2012 [cited by applicant]
US 20120246394A1 · Ou · 2012 [cited by applicant]
US 20120284587A1 · Yu · 2012 [cited by applicant]
US 20120303875A1 · Benhase · 2012 [cited by applicant]
US 20130007343A1 · Rub · 2013 [cited by applicant]
US 20130013852A1 · Hou et al. · 2013 [cited by applicant]
US 20130019062A1 · Bennett et al. · 2013 [cited by applicant]
US 20130024423A1 · Doshi · 2013 [cited by examiner]
US 20130024460A1 · Peterson · 2013 [cited by applicant]
US 20130073793A1 · Yamagishi · 2013 [cited by applicant]
US 20130073816A1 · Seo et al. · 2013 [cited by applicant]
US 20130097236A1 · Khorashadi · 2013 [cited by applicant]
US 20130111295A1 · Li et al. · 2013 [cited by applicant]
US 20130111298A1 · Seroff · 2013 [cited by applicant]
US 20130124793A1 · Gyl et al. · 2013 [cited by applicant]
US 20130124807A1 · Nielsen · 2013 [cited by applicant]
US 20130138868A1 · Seroff · 2013 [cited by applicant]
US 20130145111A1 · Murukani · 2013 [cited by applicant]
US 20130166820A1 · Batwara · 2013 [cited by applicant]
US 20130166824A1 · Shim · 2013 [cited by applicant]
US 20130166825A1 · Kim · 2013 [cited by applicant]
US 20130173554A1 · Ubukata · 2013 [cited by examiner]
US 20130227201A1 · Talagala · 2013 [cited by applicant]
US 20130232297A1 · Tanaka · 2013 [cited by applicant]
US 20130242425A1 · Zayas et al. · 2013 [cited by applicant]
US 20130275682A1 · Ramanujan · 2013 [cited by applicant]
US 20130282055A1 · Parker · 2013 [cited by applicant]
US 20130290619A1 · Knight · 2013 [cited by applicant]
US 20130297852A1 · Fai et al. · 2013 [cited by applicant]
US 20130297880A1 · Flynn · 2013 [cited by applicant]
US 20130326117A1 · Aune · 2013 [cited by applicant]
US 20130332656A1 · Kandiraju · 2013 [cited by applicant]
US 20130339580A1 · Brandt · 2013 [cited by applicant]
US 20140040550A1 · Nale · 2014 [cited by applicant]
US 20140047210A1 · Cohen · 2014 [cited by applicant]
US 20140047300A1 · Liang · 2014 [cited by applicant]
US 20140048197A1 · Leppala · 2014 [cited by applicant]
US 20140101371A1 · Nguyen et al. · 2014 [cited by applicant]
US 20140122781A1 · Smith · 2014 [cited by applicant]
US 20140189207A1 · Sinclair · 2014 [cited by applicant]
US 20140189209A1 · Sinclair et al. · 2014 [cited by applicant]
US 20140195725A1 · Bennett · 2014 [cited by applicant]
US 20140208004A1 · Cohen · 2014 [cited by applicant]
US 20140208062A1 · Cohen · 2014 [cited by applicant]
US 20140215129A1 · Kuzmin et al. · 2014 [cited by applicant]
US 20140237168A1 · Prins · 2014 [cited by applicant]
US 20140297949A1 · Nagawaka · 2014 [cited by applicant]
US 20140317346A1 · Moon · 2014 [cited by applicant]
US 20150046670A1 · Kim · 2015 [cited by applicant]
US 20150067297A1 · Arroyo et al. · 2015 [cited by applicant]
US 20150074342A1 · Bao · 2015 [cited by applicant]
US 20150089119A1 · Conklin · 2015 [cited by applicant]
US 20150113203A1 · Dancho et al. · 2015 [cited by applicant]
US 20150134930A1 · Huang et al. · 2015 [cited by applicant]
US 20150149789A1 · Seo · 2015 [cited by applicant]
US 20150193148A1 · Miwa et al. · 2015 [cited by applicant]
US 20150212938A1 · Chen et al. · 2015 [cited by applicant]
US 20150261456A1 · Alcantara et al. · 2015 [cited by applicant]
US 20150263978A1 · Olson · 2015 [cited by applicant]
US 20150309734A1 · Brondjik · 2015 [cited by applicant]
US 20150324264A1 · Vidypoornachy et al. · 2015 [cited by applicant]
US 20150339187A1 · Sharon · 2015 [cited by applicant]
US 20150347041A1 · Kotte et al. · 2015 [cited by applicant]
US 20150347291A1 · Choi · 2015 [cited by applicant]
US 20150347296A1 · Kotte · 2015 [cited by applicant]
US 20150355965A1 · Peddle · 2015 [cited by applicant]
US 20150363120A1 · Chen · 2015 [cited by applicant]
US 20150378613A1 · Koseki · 2015 [cited by applicant]
US 20150378886A1 · Nemazie · 2015 [cited by applicant]
US 20160011818A1 · Hashimoto · 2016 [cited by applicant]