IP Library Granted Patent US 12,578,900
Granted Patent B1
US 12,578,900 · App. 18/999,070 · Granted Mar 17, 2026

Techniques for directed data migration

Inventors: Alan Chen (Simi Valley, CA); Craig Robertson (Simi Valley, CA); Robert Lercari (Thousand Oaks, CA); Andrey V. Kuzmin (Moscow, RU)
Assignee: Radian Memory Systems, LLC
G06F3/0655G06F3/061G06F3/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,578,900
App. No.
18/999,070
Granted
Mar 17, 2026
Kind
B1
Abstract

A host stores “context” metadata for logical block addresses (LBAs) in a manner tied to physical location. Notwithstanding log-structured or copy on write processes, the host is then provided with immediate context when the host is called upon to assist a memory controller with data identified by physical location, for example, for memory reconfiguration, garbage collection, wear leveling or other processes. The metadata for example can provide the host with insight as to which data may be moved to enhance performance optimization and where that data can be placed. In one embodiment, the host writes back one or more references that span multiple layers of indirection in concert with write of the underlying data; in another embodiment, the context can point to other metadata.

Claims (90)

1 . A storage system comprising:

a host comprising:

a host-side interface, and

a host storage manager; and

a storage drive comprising:

a drive-side interface;

flash memory having one or more namespaces and, for each namespace, subdivisions, each of the subdivisions associated with one or more erase units;

logic operable to cause the storage drive to:

receive, via the drive-side interface, from the storage manager of the host, a query, the query being compatible with a non-volatile memory express (NVMe) command format;

transmit to the host storage manager, via the drive-side interface, and responsive to the query, information representing the one or more namespaces and each associated subdivision;

wherein the host storage manager further comprises logic operable to cause the host storage manager to:

receive, via the host-side interface, the information representing the one or more namespaces and each subdivision;

responsively select, for each instance of write data to be stored in the storage drive, a selected namespace of the one or more namespaces and a selected subdivision of the subdivisions associated with the selected namespace; and

issue write commands to the storage drive, each of the write commands also being compatible with the NVMe format, wherein each of the write commands is accompanied by respective write data and associated context metadata; and

wherein the logic of the storage drive is further operable to cause the storage drive to:

receive the write commands from the host storage manager, via the drive-side interface; and

for each respective one of the write commands, identify the respective selected namespace and the respective selected subdivision, and store the respective write data in the one or more erase units which are associated with the identified subdivision, and store the associated context metadata in memory of the storage drive; and

wherein each said logic comprises at least one of (1) instructional logic stored on a physical storage medium that, when executed, is to control the operation of hardware circuitry of the storage drive, or (2) hardware circuitry.

2 . The storage system of claim 1 , wherein the logic of the storage drive is further operable to cause the storage drive to:

for each one of the subdivisions, track data validity information for the one or more erase units which are associated with the that one of the subdivisions;

dependent on the tracked data validity information, perform garbage collection operations in a manner dedicated to a given one of the subdivisions; and

as part of the garbage collection operations, cause the storage drive to copy write data which is stored in the one or more erase units associated with the given one of the subdivisions to a destination erase unit of the flash memory, the destination erase unit being selected dependent on the context metadata associated with the write data being copied.

3 . The storage system of claim 2 , wherein:

for each given one of the write commands, the logic of the storage drive is also operable to cause the storage drive to store the associated context metadata in the one or more erase units which are associated with the selected subdivision which was identified from the given one of the write commands; and

the logic of the storage drive is further operable to, as part of the garbage collection operation, cause the storage drive, to also copy, to the destination erase unit, the context metadata which is associated with the write data being copied.

4 . The storage system of claim 1 , wherein the logic of the host storage manager is further operable to cause the host storage manager to issue one or more maintenance requests to the storage drive, via the host-side interface, the one or more maintenance requests being delimited to at least one of a given one of the namespaces or one of the subdivisions associated with a given one of the namespaces, and wherein the logic of the storage drive is further operable to cause the storage drive to receive the one or more maintenance requests, via the drive-side interface, and to responsively copy write data stored in physical memory which corresponds to the at least one of the given one of the namespaces or one of the subdivisions associated with the given one of the namespaces to a different erase unit of the flash memory.

5 . The storage system of claim 1 , wherein:

the logic of the storage drive is further operable to cause the storage drive to maintain, for each of the subdivisions of the flash memory, second metadata, the second metadata pertaining to one of:

a status of associated physical memory; or

a time since programming of data which is stored in the associated physical memory;

the logic of the host storage manager is further operable to cause the storage manager to issue a second query command, via the host-side interface, in a manner restricted to a given one of the subdivisions of the flash memory; and

the logic of the storage drive is further operable to receive the second query command, via the drive-side interface, and to cause the storage drive to responsively transmit, to the host storage manager, and via the drive-side interface, information representing at least some of the second metadata which is respective to the given one of the subdivisions.

6 . The storage system of claim 5 , wherein the second metadata represents a number of times associated physical memory has been physically erased.

7 . The storage system of claim 5 , wherein the second metadata comprises information representing release status of write data which is stored in the associated physical memory.

8 . The storage system of claim 1 , wherein the logic of the storage drive is further operable to cause the storage drive to:

identify one of the subdivisions as satisfying a storage drive-monitored condition; and

responsively transmit, to the host storage manager, via the drive-side interface, information representing the one of the subdivisions which was identified as satisfying the storage drive-monitored condition.

9 . The storage system of claim 1 , wherein the logic of the storage drive is further operable to cause the storage drive to, in association with each of the write commands:

receive a respective, host-provided address;

derive, from the host-provided address, a first address portion, a second address portion and a third address portion;

identify the selected namespace from the first address portion;

identify the selected subdivision from the second address portion; and

identify a logical block address (LBA) from the third address portion.

10 . The storage system of claim 1 , wherein:

the logic of the storage drive is further operable to cause the storage drive to generate and maintain, for each of the subdivisions of the flash memory that has received write data, at least one value representing a time;

the logic of the host storage manager is further operable to cause the host storage manager to transmit, via the host-side interface, a second query; and

the logic of the storage drive is further operable to cause the storage drive to receive the second query, via the drive-side interface, to process the second query, dependent on the generated and maintained values for of the subdivisions of flash memory that have received write data, and to responsively transmit to the host storage manager, via the drive-side interface, information which is specific to a given one of the subdivisions of the flash memory.

11 . The storage drive of claim 10 , wherein the time is associated with storage, by the storage drive, of associated write data into the flash memory.

12 . The storage system of claim 1 , wherein the logic of the storage drive is further operable to cause the storage drive to store, for each given one of the subdivisions of the flash memory which has received write data, second metadata, the second metadata representing an extent to which additional write data can be programmed, into the one or more erase units which are associated with the given one of the subdivisions, without first erasing the one or more erase units which are associated with the given one of the subdivisions.

13 . The storage system of claim 12 , wherein the logic of the storage drive is further operable to cause the storage drive to transmit information representing the second metadata to the storage manager, via the drive-side interface.

14 . The storage system of claim 1 , wherein the logic of the storage drive is further operable to cause the storage drive to transmit, to the storage manager, in response to the query command, and via the drive-side interface, a size of each subdivision associated with the one or more namespaces.

15 . The storage system of claim 1 , wherein the flash memory of the storage drive comprises planes, and wherein at least one of the subdivisions of the flash memory is associated with physical erase units on different ones of the planes.

16 . The storage system of claim 15 , wherein, within the storage drive, the erase units on different ones of the planes are also on at least two different dies.

17 . The storage system of claim 1 , wherein the logic of the host storage manager is further operable to cause the host storage manager to issue, via the host-side interface, at least one maintenance command to the storage drive, in a manner delimited to a given one of the subdivisions of the flash memory, and wherein the logic of the storage drive is further operable to cause the storage drive to, responsive to receipt of the at least one maintenance command, dynamically control physical erasure of the one or more erase units associated with the given one of the subdivisions.

18 . The storage system of claim 1 , wherein each erase unit associated with one of the subdivisions of the flash memory corresponds to a physical erase unit of the flash memory, wherein the logic of the storage drive is further operable to cause the storage drive to detect a failure condition of one of the physical erase units and to responsively remap the corresponding one of the subdivisions to a different physical erase unit.

19 . The storage system of claim 1 , wherein the context metadata corresponds to a file reference.

20 . The storage system of claim 1 , wherein:

within the storage drive, at least one die of flash memory comprises multiple planes;

a given one of the subdivisions is associated with at least one physical erase unit from each of the multiple planes;

the logic of the storage drive is operable to cause the storage drive to identify, for each one of a set of the write commands, a commonly addressed page, wherein each of the write commands in the set is directed to the given one of the subdivisions and wherein the write commands in the set have sequential addressing; and

the logic of the storage drive is operable to cause the storage drive to program the write data associated with the incoming write commands in the set concurrently into respective ones of the multiple planes, using the identified commonly addressed page.

21 . The storage system of claim 1 , wherein the logic of the host storage manager is operable to cause the host storage manager to transmit, via the host-side interface, a second query to the storage drive, and wherein the logic of the storage drive is operable to cause the storage drive to receive the second query, and to responsively transmit information to the host storage manager indicating at least one of a number of dies of the flash memory or a number of channels of the flash memory.

22 . The storage system of claim 21 , wherein:

the flash memory further supports two block devices;

the logic of the host storage manager is further operable to transmit a command to the storage drive, via the host-side interface, to program the storage drive to associate each of the two block devices with a selected number of the at least one of a number of dies of the flash memory or a number of channels of the flash memory, in a manner such that the selected number is free to be different for each of the two block devices; and

for each of the respective one of the write commands, the logic of the storage drive is operable to identify a selected one of the two block devices and to store the respective write data in a flash memory die on a flash memory channel that is uniquely associated with the selected one of the two block devices.

23 . The storage system of claim 1 , wherein:

the logic of the host storage manager is further operable to cause the host storage manager to transmit, to the storage drive, via the host-side interface, a second query;

the logic of the storage drive is further operable to cause the storage drive to:

track second metadata, the second metadata comprising physical storage location release information;

receive the second query, via the drive-side interface; and

responsive to the second query, transmit information, to the host storage manager, via the drive-side interface, which represents the storage location release information; and

the logic of the host storage manager is further operable to cause the host storage manager to issue, via the host-side interface, one or more maintenance requests to the storage drive, wherein the one or more maintenance requests are dependent on the information representing the storage location release information transmitted to the host storage manager which represents the storage location release information.

24 . The storage system of claim 1 , wherein the logic of the host storage manager is further operable to cause the host storage manager to issue, via the host-side interface, a storage location release request which specifies at least one memory location, and wherein the logic of the storage drive is further operable to cause the storage drive to receive the release request from the host storage manager, via the drive-side interface, and to responsively mark each specified memory location as released.

25 . The storage system of claim 1 , wherein:

the logic of the host storage manager is further operable to cause the host storage manager to transmit, to the storage drive, via the host-side interface, a second query;

the logic of the storage drive is further operable to cause the storage drive to:

track second metadata, the second metadata comprising hot-cold information;

receive the second query, via the drive-side interface; and

responsive to the second query, transmit information, to the host storage manager, via the drive-side interface, which is dependent on the hot/cold information; and

the logic of the host storage manager is further operable to cause the host storage manager to issue, via the host-side interface, one or more maintenance requests to the storage drive, wherein the one or more maintenance requests are dependent on the information which is dependent on the hot/cold information which was transmitted to the host storage manager.

26 . The storage system of claim 1 wherein, within the storage drive, each particular one of the subdivisions corresponds to an integer number of physical erase units and a sequential range of logical block addresses (LBAs) mapped to the integer number of physical erase units, wherein each of a number of read commands directed to the particular one of the subdivisions is accompanied by an LBA address value, and wherein the logic of the storage drive is further operable to access data within the integer number of physical erase units according to the LBA address value.

27 . The storage system of claim 1 , wherein:

the logic of the host storage manager is further operable to cause the host storage manager to transmit, to the storage drive, via the host-side interface, a second query;

the logic of the storage drive is further operable to cause the storage drive to:

track second metadata, the second metadata comprising physical storage location release information;

identify one or more subdivisions that are garbage collection candidates dependent on the second metadata;

receive the second query, via the drive-side interface; and

responsive to the second query, transmit information, to the host storage manager, via the drive-side interface, which represents the identified one or more subdivisions; and

the logic of the host storage manager is further operable to cause the host storage manager to issue, via the host-side interface, one or more maintenance requests to the storage drive, wherein the one or more maintenance requests are dependent on the information representing the identified one or more subdivisions transmitted to the host storage manager.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 23, 2024
From: ROBERTSON, CRAIG; LERCARI, ROBERT; CHEN, ALAN; KUZMIN, ANDREY V.
To: RADIAN MEMORY SYSTEMS, INC.
Reel/Frame 069664/0314 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 23, 2024
From: RADIAN MEMORY SYSTEMS, INC.
To: RADIAN MEMORY SYSTEMS, LLC
Reel/Frame 069664/0377 →
Continuity (10)
Continuation 18412919 · Jan 15, 2024
Continuation 17948161 · Sep 19, 2022
Continuation 17176035 · Feb 15, 2021
Continuation 16702736 · Dec 4, 2019
Continuation 15211939 · Jul 15, 2016
Continuation In Part 14848273 · Sep 8, 2015
Provisional Application 62241429 · Oct 14, 2015
Provisional Application 62199969 · Jul 31, 2015
Provisional Application 62194172 · Jul 17, 2015
Provisional Application 62048162 · Sep 9, 2014
References Cited (400)
US 4532590A · Wallach · 1985 [cited by applicant]
US 4813002A · Joyce · 1989 [cited by applicant]
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 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 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 · Tyer · 2011 [cited by applicant]
US 8024545B2 · Kim et al. · 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 8140821B1 · Raizen · 2012 [cited by applicant]
US 8195912B2 · Flynn · 2012 [cited by applicant]
US 8219776B2 · Forhan · 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 8495280B2 · Kang · 2013 [cited by applicant]
US 8572331B2 · Shalvi · 2013 [cited by applicant]
US 8601202B1 · Melcher · 2013 [cited by applicant]
US 8621137B2 · Olbrich · 2013 [cited by applicant]
US 8626989B2 · Van Aken · 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 9123443B2 · Chung · 2015 [cited by applicant]
US 9128624B2 · Ng · 2015 [cited by applicant]
US 9134918B2 · Yurzola · 2015 [cited by applicant]
US 9171585B2 · Rajan · 2015 [cited by applicant]
US 9229854B1 · Kuzmin et al. · 2016 [cited by applicant]
US 9239781B2 · Jones · 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 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 9432298B1 · Smith · 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 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 9858008B2 · Liu · 2018 [cited by applicant]
US 9891858B1 · Colgrove · 2018 [cited by applicant]
US 10048884B2 · Mylly · 2018 [cited by applicant]
US 10067866B2 · Sutardja · 2018 [cited by applicant]
US 10275176B1 · Gold · 2019 [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 et al. · 2020 [cited by applicant]
US 10642748B1 · Lercari · 2020 [cited by applicant]
US 10853243B2 · Davis · 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 11033076B2 · Greene · 2021 [cited by applicant]
US 11048643B1 · Lercari · 2021 [cited by applicant]
US 11068408B2 · Kim · 2021 [cited by applicant]
US 11074016B2 · Seppanen · 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 11403019B2 · Nagle · 2022 [cited by applicant]
US 11449240B1 · Jadon · 2022 [cited by applicant]
US 11481144B1 · Chen · 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 11663097B2 · McAuliffe · 2023 [cited by applicant]
US 11675708B1 · Lercari · 2023 [cited by applicant]
US 11704237B1 · Kuzmin · 2023 [cited by applicant]
US 11714718B2 · Sapuntzakis · 2023 [cited by applicant]
US 11762766B1 · Kuzmin · 2023 [cited by applicant]
US 11899575B1 · Kuzmin · 2024 [cited by applicant]
US 11907569B1 · Chen · 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 20050073884A1 · Gonzalez · 2005 [cited by applicant]
US 20050144367A1 · Sindair · 2005 [cited by applicant]
US 20050144413A1 · Kuo et al. · 2005 [cited by applicant]
US 20050160227A1 · Todd · 2005 [cited by applicant]
US 20050193161A1 · Lee · 2005 [cited by applicant]
US 20050248993A1 · Lee · 2005 [cited by applicant]
US 20060004957A1 · Hand, III · 2006 [cited by applicant]
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 20070058431A1 · Chung et al. · 2007 [cited by applicant]
US 20070091497A1 · Mizuno · 2007 [cited by applicant]
US 20070136555A1 · Sinclair · 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 20080147964A1 · Chow et al. · 2008 [cited by applicant]
US 20080155204A1 · Qawami et al. · 2008 [cited by applicant]
US 20080189485A1 · Jung et al. · 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 20080307192A1 · Sinclair · 2008 [cited by applicant]
US 20090036163A1 · Kimbrell · 2009 [cited by applicant]
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 et al. · 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 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 20100125702A1 · Lee · 2010 [cited by applicant]
US 20100161882A1 · Stern et al. · 2010 [cited by applicant]
US 20100162012A1 · Cornwell et al. · 2010 [cited by applicant]
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 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 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 20110040927A1 · Fuxa · 2011 [cited by applicant]
US 20110041039A1 · Harari · 2011 [cited by applicant]
US 20110055445A1 · Gee et al. · 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 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 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 20110283043A1 · Schuette · 2011 [cited by applicant]
US 20110289263A1 · McWilliams · 2011 [cited by applicant]
US 20110296089A1 · Seol · 2011 [cited by applicant]
US 20110296133A1 · Flynn et al. · 2011 [cited by applicant]
US 20110302477A1 · Goss · 2011 [cited by applicant]
US 20110314209A1 · Eckstein · 2011 [cited by applicant]
US 20120033519A1 · Confalonieri et al. · 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 20120131381A1 · Eleftheriou · 2012 [cited by applicant]
US 20120155492A1 · Abel · 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 20120221781A1 · Frost · 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 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 20130166820A1 · Batwara · 2013 [cited by applicant]
US 20130166824A1 · Shim · 2013 [cited by applicant]
US 20130166825A1 · Kim et al. · 2013 [cited by applicant]
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 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 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 20140068197A1 · Joshi · 2014 [cited by applicant]
US 20140101371A1 · Nguyen et al. · 2014 [cited by applicant]
US 20140122781A1 · Smith et al. · 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 20140215129A1 · Kuzmin et al. · 2014 [cited by applicant]
US 20140281040A1 · Liu · 2014 [cited by examiner]
US 20140317346A1 · Moon · 2014 [cited by applicant]
US 20150046670A1 · Kim · 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 20150149789A1 · Seo 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 20150324264A1 · Vidypoornachy et al. · 2015 [cited by applicant]
US 20150339187A1 · Sharon · 2015 [cited by applicant]
US 20150347291A1 · Choi · 2015 [cited by applicant]
US 20150347296A1 · Kotte et al. · 2015 [cited by applicant]
US 20150355965A1 · Peddle · 2015 [cited by applicant]
US 20150363120A1 · Chen · 2015 [cited by applicant]
US 20160011818A1 · Hashimoto · 2016 [cited by applicant]
US 20160018998A1 · Mohan et al. · 2016 [cited by applicant]
US 20160019148A1 · Vekiarides · 2016 [cited by applicant]
US 20160026564A1 · Manning · 2016 [cited by applicant]
US 20160070496A1 · Cohen · 2016 [cited by applicant]
US 20160147669A1 · Huang · 2016 [cited by applicant]
US 20160253091A1 · Ayyavu · 2016 [cited by applicant]
US 20160342463A1 · Oshima · 2016 [cited by applicant]
US 20160357462A1 · Nam et al. · 2016 [cited by applicant]
US 20160364179A1 · Tsai et al. · 2016 [cited by applicant]
US 20170075620A1 · Yamamoto · 2017 [cited by applicant]
US 20170109078A1 · Shaharabany · 2017 [cited by applicant]
US 20170192901A1 · Coffin · 2017 [cited by applicant]
US 20170199703A1 · Ravimohan · 2017 [cited by applicant]
US 20180046480A1 · Dong · 2018 [cited by applicant]
US 20200363996A1 · Kanno · 2020 [cited by applicant]
US 20210064293A1 · Cho · 2021 [cited by applicant]
JP 2001051889A · 2001 [cited by applicant]
JP 2008176606 · 2008 [cited by applicant]
JP 2011123863A · 2011 [cited by applicant]
JP 2011203916A · 2011 [cited by applicant]
WO WO2006065668A2 · 2006 [cited by applicant]
WO WO2007019220A2 · 2007 [cited by applicant]
WO WO2008082996 · 2008 [cited by applicant]
WO 2009100149A1 · 2009 [cited by applicant]
WO WO2010027983A1 · 2010 [cited by applicant]
NVM Express, Version 1.0b, Jul. 12, 2011, pp. 1-126, published at http://www.nvmexpress.org/resources/ by the NVM Express Work Group. [cited by applicant]
John D. Strunk, “Hybrid Aggregates: Combining SSDs and HDDs in a single storage pool,” Dec. 15, 2012, ACM SIGOPS Operating Systems Review archive, vol. 46 Issue 3, Dec. 2012, pp. 50-56. [cited by applicant]
Yiying Zhang, Leo Prasath Arulraj, Andrea C. Arpaci-Dusseau, Remzi H. Arpaci-Dusseau, Computer Sciences Department, University of Wisconsin-Madison, “De-indirection for Flash-based SSDs with NamelessWrites,” published a… [cited by applicant]
Andrea C. Arpaci-Dusseau, Remzi H. Arpaci-Dusseau, and Vijayan Prabhakaran, “ResearchRemoving the Costs of Indirection in Flash-based SSDs with NamelessWrites,” Jun. 22, 2010, pp. 1-5, published at www.cs.wisc.edu/wind/… [cited by applicant]
Stan Park and Kai Shen, Department of Computer Science, University of Rochester, “FIOS: A Fair, Efficient Flash I/O Scheduler,” Feb. 23, 2012, pp. 1-15, published at www.usenix.org/event/fast12/tech/full_papers/Park.pdf… [cited by applicant]
Eric Seppanen, Matthew T. O'Keefe, David J. Lilja, Department of Electrical and Computer Engineering, University of Minnesota, “High Performance Solid State Storage Under Linux,” Apr. 10, 2010, MSST '10 Proceedings of t… [cited by applicant]
Xiangyong Ouyangyz, David Nellansy, Robert Wipfely, David Flynny, Dhabaleswar K. Pandaz, “Beyond Block I/O: Rethinking Traditional Storage Primitives,” Aug. 20, 2011, published at http://www.sciweavers.org/read/beyond-b… [cited by applicant]
Intel Corp, PCI-SIG SR-IOV Primer—An Introduction to SR-IOV Technology,: 321211-002, Revision 2.5, Jan. 2011, 28 pages. [cited by applicant]
Open NAND Flash Interface (ONFI), specification, version 2.0, 174 pages, Feb. 27, 2008. [cited by applicant]
Open NAND Flash Interface (ONFI), specification, version 3.1, 296 pages Sep. 19, 2012. [cited by applicant]
NVM Express, V. 1.2.1, 217 pages, Jun. 3, 2016. [cited by applicant]
Garth Gibson, Greg Ganger, “Principles of Operation for Shingled Disk Devices,” Canregie Mellon Parallel Data Laboratory, CMU-PDL-11-107, Apr. 2011, 9 pages. [cited by applicant]
Li-Pin Chang, “Hybrid Solid State Disks: Combining Heterogeneous NAND Flash in Large SSDs,” National Chiao-Tung University, Taiwan, ASPDAC 2008, 26 pages. [cited by applicant]
Hua Wangx, Ping Huangxz, Shuang Hex, Ke Zhoux, Chunhua Lix, and Xubin He, “A Novel I/O Scheduler for SSD with Improved Performance and Lifetime,” Mass Storage Systems and Technologies (MSST), 2013 IEEE 29th Symposium on… [cited by applicant]
Altera Corp. et al., “Hybrid Memory Cube” specification, 2012, 122 pages. [cited by applicant]
JEDEC Standard, JESD229, Wide IO, Dec. 2011, 74 pages. [cited by applicant]
Li-Pin Chang, “Hybrid Solid State Disks: Combining Heterogeneous NAND Flash in Large SSDs,” National Chiao-Tung University, Taiwan, 978-1-4244-1922-7/08, 2008 IEEE, 6 pages. [cited by applicant]
Optimizing NAND Flash Performance, Flash Memory Summit, Santa Clara, CA USA Aug. 2008, Ryan Fisher, pp. 1-23. [cited by applicant]
High-Speed NAND Flash: Design Considerations to Maximize Performance, Flash Memory Summit, Santa Clara, CA USA Aug. 11, 2009, , Robert Pierce, pp. 1-19. [cited by applicant]
NAND 201: An Update on the Continued Evolution of NAND Flash, Jim Cooke, Micron White Paper, Sep. 6, 2011, pp. 1-10. [cited by applicant]
Spansion SLC NAND Flash Memory for Embedded, data sheet, S34ML01G1, S34ML02G1, S34ML04G1, Sep. 6, 2012, pp. 1-73. [cited by applicant]
Wang et al., “An Efficient Design and Implementation of LSM-Tree based Key-Value Store on Open Channel SSD,”EuroSys '14 Proceedings of the Ninth European Conference on Computer Systems, Article No. 16, Apr. 14, 2014, 14… [cited by applicant]
Ouyang et al., “SDF: Software-defined flash for web-scale internet storage systems,” Computer Architecture News—ASPLOS '14, vol. 42 Issue 1, Mar. 2014, 14 pages. [cited by applicant]
Macko et al., “Tracking Back References in a Write-Anywhere File System,”FAST'10 Proceedings of the 8th USENIX conference on File and storage technologies, 14 pages, Feb. 23, 2010. [cited by applicant]
Ohad, Rodeh, “IBM Research Report Defragmentation Mechanisms for Copy-on-Write File-systems,” IBM white paper, Apr. 26, 2010, 10 pages, available at domino.watson.IBM.com/library/CyberDig.nsf/papers/298A0EF3C2CDB17B8525… [cited by applicant]
Lafi, Walid, et al., “High-level modeling and performance evaluation of address mapping in NAND flash memory,” Jan. 2011, vol. 60-1, IEEE 978-1-4244-5091, pp. 659-662. [cited by applicant]
Im, Soojun et al., “Flash-aware RAID techniques for dependable and high-performance flash memory SSD,” IEEE Transactions on Computers, pp. 80-82. [cited by applicant]
Kim, Jae-Hong et al., “A methodology for extracting performance parameters in solid state disks (SSDs),” 2009 IEEE International Symposium on Modeling, Analysis & Simulation of Computer and Telecommunication Systems, De… [cited by applicant]