IP Library Granted Patent US 12,675,417
Granted Patent B1
US 12,675,417 · App. 19/001,292 · Granted Jul 7, 2026

Hierarchical storage device with host controlled subdivisions

Inventors: Robert Lercari (Thousand Oaks, CA); Alan Chen (Simi Valley, CA); Mike Jadon (Manhattan Beach, CA); Craig Robertson (Simi Valley, CA); Andrey V. Kuzmin (Moscow, RU)
Assignee: Radian Memory Systems, ILLC
G06F12/1009G06F3/0616G06F3/064G06F3/0688G06F12/0207G06F12/0246G06F12/109G06F3/0659G06F3/0662G06F2212/1016G06F2212/7201G06F2212/7202G06F2212/7205
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,675,417
App. No.
19/001,292
Filed
Dec 24, 2024
Granted
Jul 7, 2026
Kind
B1
Art Unit
2135
USPC
711/103
Abstract

This disclosure provides techniques hierarchical address virtualization within a memory controller and configurable block device allocation. By performing address translation only at select hierarchical levels, a memory controller can be designed to have predictable I/O latency, with brief or otherwise negligible logical-to-physical address translation time. In one embodiment, address transition may be implemented entirely with logical gates and look-up tables of a memory controller integrated circuit, without requiring processor cycles. The disclosed virtualization scheme also provides for flexibility in customizing the configuration of virtual storage devices, to present nearly any desired configuration to a host or client.

Claims (98)

1 . A storage apparatus comprising:

a host having a storage manager and a host-side interface; and

at least one storage drive, including a first storage drive comprising:

flash memory;

circuitry to, for incoming data write requests, each of the incoming data write requests being accompanied by incoming address information:

derive, from the accompanying incoming address information, a first address portion, a second address portion, and a third address portion;

identify an addressed block device from the first address portion;

identify an addressed segment within the addressed block device from the second address portion, wherein the addressed segment corresponds to one or more erase units; and

using the third address portion, identify bit fields, wherein the circuitry is to identify from a first one of the bit fields an erase unit corresponding to the addressed segment, and is to identify a storage location within the identified erase unit dependent on a second one of the bit fields; and

program associated data into the identified erase unit at the identified storage location; and

circuitry to:

maintain metadata specific to the addressed segment;

compare the specific metadata to at least one threshold; and

responsive to detection that the specific metadata has satisfied the at least one threshold, transmit, to the storage manager, via the host-side interface, an identifier for the addressed segment; and

wherein, dependent on receipt of the identifier for the addressed segment, the storage manager is to issue, via the host-side interface, one or more maintenance requests targeting the addressed segment.

2 . The storage apparatus of claim 1 wherein the one or more maintenance requests are to cause the first storage drive to responsively copy data from the identified storage location in the flash memory to a second storage location in the flash memory.

3 . The storage apparatus of claim 1 wherein the specific metadata represents a time since data was programmed into the one or more erase units.

4 . The storage apparatus of claim 1 wherein the circuitry to derive comprises at least one drive processor and wherein the first storage drive comprises instructions stored on at least one physical storage medium, said instructions when executed, to control actions of the at least one drive processor, and wherein the first storage drive is also to transmit, to the storage manager, an indication of a need for maintenance in association with the identifier for the addressed segment.

5 . The storage apparatus of claim 1 wherein the first storage drive is to receive a query from the storage manager, sent via the host-side interface, and wherein the first storage drive is to transmit the identifier for the addressed segment to the storage manager, in a manner responsive to the query.

6 . The storage apparatus of claim 1 wherein the first storage drive comprises circuitry to:

receive the one or more maintenance requests; and

responsive to the one or more maintenance requests, perform an erasure one or more erase units corresponding to the addressed segment.

7 . The storage apparatus of claim 6 wherein:

the circuitry to maintain the specific metadata is to maintain metadata on a basis that is respective to the identified erase unit, the metadata respective to the identified erase unit representing a number of times that the identified erase unit has been erased.

8 . The storage apparatus of claim 1 wherein the flash memory has a number of segments, including the addressed segment, and wherein the first storage drive comprises circuitry to:

receive a query issued by the storage manager, via the host-side interface;

transmit, to the storage manager, information identifying each of the segments; and

for each respective one of the segments, at least one request issued by the storage manager is dependent on the information which was transmitted to the storage manager identifying the respective one of the segments.

9 . The storage apparatus of claim 1 wherein each of the one or more erase units corresponds to a physical erase unit of the flash memory, wherein the first storage drive comprises circuitry to detect a failure condition of one of the physical erase units and to responsively remap the addressed segment to a different physical erase unit.

10 . The storage apparatus of claim 1 wherein:

the specific metadata indicates an extent to which associated memory can continue to receive additional write data without being erased.

11 . The storage apparatus of claim 1 wherein the first storage drive further comprises circuitry to, for each of the incoming data write requests:

assign an address value corresponding to the identified storage location; and

transmit the address value to the storage manager, via the host side interface.

12 . The storage apparatus of claim 1 wherein:

the flash memory has a number of structures;

the first storage drive comprises circuitry to:

store information representing the number of the structures; and

transmit, to the storage manager, an indication of the number of structures;

the storage manager is to responsively issue at least one request, to the first storage drive, and via the host-side interface, which is dependent on the number of the structures; and

the first storage drive is to fulfill the responsively-issued at least one request by issuing one or more commands to the flash memory for which a quantum of flash memory selected by the one or more commands is dependent on the number of the structures.

13 . The storage apparatus of claim 12 wherein the number of the structures corresponds to an amount of the flash memory that is to be physically erased as a unit.

14 . The storage apparatus of claim 1 wherein the addressed segment corresponds to an integer number of physical erase units for which a failure condition has not been detected, and wherein the third address portion is effective to specify a location within a range of locations that correspond to the integer number of physical erase units.

15 . The storage apparatus of claim 1 wherein:

the flash memory is to have block devices, including the addressed block device; and

the first storage drive comprises circuitry to:

store an erase count respective to each of the block devices;

receive a query, issued by the storage manager via the host-side interface, wherein said query is specific to one of the block devices and, responsive to the query, transmit, to the storage manager, information dependent on the stored erase count for the specific one of the block devices.

16 . The storage apparatus of claim 1 wherein:

the flash memory comprises multiple planes;

the first storage drive is to, for each one of a set of the incoming data write requests having sequential addressing, identify a commonly addressed page; and

the programming is performed such that associated data corresponding to the incoming data write requests of the set is programmed concurrently into respective ones of the multiple planes, using the identified commonly addressed page.

17 . The storage apparatus of claim 1 wherein:

for one of the incoming data write requests, the first storage drive is to generate an address value corresponding to the identified storage location and is to transmit the address value to the storage manager;

the storage manager, via the host-side interface, is to issue one or more read requests in a manner including addressing which is dependent upon the transmitted address value; and

the storage drive comprises circuitry to fulfill execution of the one or more read requests using the addressing.

18 . The storage apparatus of claim 1 wherein the first storage drive comprises circuitry to receive a query from the storage manager, issued via the host-side interface, and to responsively transmit information, to the storage manager, indicating at least one of a number of dies of the flash memory or a number of channels of the flash memory.

19 . The storage apparatus of claim 1 wherein at least one of a number of dies or a number of channels associated with the addressed block device is programmable by a command received by the first storage drive from the storage manager, the command being issued via the host-side interface.

20 . The storage apparatus of claim 1 wherein:

the specific metadata comprises physical storage location release information;

the first storage drive comprises circuitry to:

receive a query from the storage manager, issued via the host-side interface; and

responsive to the query, transmit information, to the storage manager, representing the storage location release information, in association with the identifier for the addressed segment; and

at least one of the one or more maintenance requests is dependent on the information representing the storage location release information which was transmitted to the storage manager.

21 . The storage apparatus of claim 1 wherein the first storage drive comprises circuitry to receive a release request from the storage manager, issued via the host-side interface, which indicates one or more storage locations, and to responsively mark each indicated storage location as released.

22 . The storage apparatus of claim 1 wherein:

the specific metadata comprises hot/cold information;

the first storage drive comprises circuitry to:

receive a query from the storage manager, issued via the host-side interface; and

responsive to the query, transmit information, to the storage manager, representing the hot/cold information, in association with the identifier for the addressed segment; and

at least one of the one or more maintenance requests is dependent on the information representing the hot/cold information which was transmitted to the storage manager, and further, is operable to cause the first storage drive to responsively copy data from the identified storage location in the flash memory to a second storage location in the flash memory.

23 . The storage apparatus of claim 1 wherein the circuitry to identify the bitfields is to partition the third address portion into a first discrete set of bits and a second discrete set of bits, the first one of the bitfields corresponding to the first discrete set of bits and the second one of the bitfields corresponding to the second discrete set of bits.

24 . The storage apparatus of claim 1 wherein the circuitry to identify the bitfields is to process the third address portion using a modulo operation, to identify a quotient and a remainder, wherein the first one of the bitfields corresponds to a first one of the quotient or the remainder, wherein the second one of the bitfields corresponds to a second one of the quotient or the remainder, and wherein a divisor of the modulo operation is free to be a non-power-of-two integer.

25 . A storage apparatus comprising:

a host having a storage manager and a host-side interface; and

at least one storage drive, including a first storage drive comprising:

flash memory;

circuitry to, for incoming data write requests, each of the incoming data write requests being accompanied by incoming address information:

derive, from the accompanying incoming address information, a first address portion, a second address portion, and a third address portion;

identify an addressed block device from the first address portion;

identify an addressed segment within the addressed block device from the second address portion, wherein the addressed segment corresponds to one or more erase units; and

using the third address portion, identify bit fields, wherein the circuitry is to identify from a first one of the bit fields an erase unit corresponding to the addressed segment, and is to identify a storage location within the identified erase unit dependent on a second one of the bit fields; and

program associated data into the identified erase unit at the identified storage location; and

circuitry to:

maintain metadata specific to the addressed segment;

compare the specific metadata to at least one threshold; and

responsive to detection that the specific metadata has satisfied the at least one threshold, transmit, to the storage manager, via the host-side interface, an identifier for the addressed segment; and

wherein, dependent on receipt of the identifier for the addressed segment, the storage manager is to issue one or more maintenance requests, via the host-side interface, targeting the addressed segment;

wherein, responsive to the one or more requests targeting the addressed segment, the first storage drive is to control physical erasure of flash memory associated with the addressed segment; and

wherein the first storage drive comprises circuitry to maintain, for the respective ones of the one or more physical erase units, second metadata representing a number of times that flash memory corresponding the respective physical erase unit has been physically erased and is to update, in connection with execution of the one or more maintenance requests, the second metadata.

26 . The storage apparatus of claim 25 wherein the first storage drive comprises circuitry to selectively transmit to the storage manager, information which is dependent upon the second metadata.

27 . The storage apparatus of claim 25 wherein:

the flash memory comprises multiple planes; and

in connection with execution a specific one of the one or more maintenance requests, the first storage drive is to control physical erasure of flash memory in each of the multiple planes.

28 . The storage apparatus of claim 25 wherein the first storage drive further comprises circuitry to:

track additional metadata which indicates an extent to which memory comprising the one or more erase units can continue to receive additional write data without being erased;

for a given one of the incoming data write requests for which the accompanying incoming address information designates the addressed segment, update the additional metadata; and

provide information representing the updated, additional metadata to the storage manager.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 24, 2024
From: KUZMIN, ANDREY V.; JADON, MIKE; LERCARI, ROBERT; ROBERTSON, CRAIG; CHEN, ALAN
To: RADIAN MEMORY SYSTEMS, INC.
Reel/Frame 069676/0644 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 24, 2024
From: RADIAN MEMORY SYSTEMS, INC.
To: RADIAN MEMORY SYSTEMS, LLC
Reel/Frame 069676/0648 →
Continuity (13)
Continuation 18412906 · Jan 15, 2024
Continuation 18140938 · Apr 28, 2023
Continuation 17377754 · Jul 16, 2021
Continuation 17213015 · Mar 25, 2021
Continuation 16841402 · Apr 6, 2020
Continuation 15690006 · Aug 29, 2017
Continuation 15074778 · Mar 18, 2016
Continuation 14880529 · Oct 12, 2015
Continuation In Part 14848273 · Sep 8, 2015
Provisional Application 62199969 · Jul 31, 2015
Provisional Application 62194172 · Jul 17, 2015
Provisional Application 62063357 · Oct 13, 2014
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 6892287B1 · Millard · 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 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 7904619B2 · Danilak · 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 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 8495280B2 · Kang · 2013 [cited by applicant]
US 8539197B1 · Marshall · 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 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 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 9123443B2 · Chung · 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 · 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 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 9846541B2 · Miyamoto et al. · 2017 [cited by applicant]
US 9858008B2 · Liu · 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 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 11307995B1 · Lercari · 2022 [cited by applicant]
US 11347656B1 · Lercari · 2022 [cited by applicant]
US 11347657B1 · Lercari · 2022 [cited by applicant]
US 11347658B1 · Lercari · 2022 [cited by applicant]
US 11416413B1 · Lercari · 2022 [cited by applicant]
US 11449240B1 · Jadon · 2022 [cited by applicant]
US 11449436B1 · Lercari · 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 11907134B1 · Lercari · 2024 [cited by applicant]
US 11914523B1 · Lercari · 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 20050073844A1 · Gonzalez · 2005 [cited by applicant]
US 20050073884A1 · Gonzalez · 2005 [cited by applicant]
US 20050144367A1 · Sinclair · 2005 [cited by applicant]
US 20050144413A1 · Kuo et al. · 2005 [cited by applicant]
US 20050160227A1 · Todd · 2005 [cited by applicant]
US 20060004957A1 · Hand, III · 2006 [cited by applicant]
US 20060022171A1 · Leist · 2006 [cited by applicant]
US 20070019481A1 · Park · 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 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 20080195833A1 · Park · 2008 [cited by applicant]
US 20080201517A1 · Kuhne · 2008 [cited by applicant]
US 20080209114A1 · Chow · 2008 [cited by applicant]
US 20080307192A1 · Sinclair · 2008 [cited by applicant]
US 20080320476A1 · Wingard · 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 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 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 20110066792A1 · Shaeffer · 2011 [cited by applicant]
US 20110125956A1 · Danilak · 2011 [cited by applicant]
US 20110138114A1 · Yen · 2011 [cited by applicant]
US 20110153817A1 · Maita · 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 20110276756A1 · Bish et al. · 2011 [cited by applicant]
US 20110283043A1 · Schuette · 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 20120054419A1 · Chen · 2012 [cited by applicant]
US 20120059972A1 · Chen · 2012 [cited by applicant]
US 20120066441A1 · Weingarten · 2012 [cited by applicant]
US 20120072645A1 · Olbrich · 2012 [cited by applicant]
US 20120072807A1 · Cornwell · 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 20120159037A1 · Kwon · 2012 [cited by applicant]
US 20120159039A1 · Kegel et al. · 2012 [cited by applicant]
US 20120191921A1 · Shaeffer · 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 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 20130138868A1 · Seroff · 2013 [cited by applicant]
US 20130145111A1 · Murukani · 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 20130282955A1 · 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 examiner]
US 20140047300A1 · Liang · 2014 [cited by applicant]
US 20140101371A1 · Nguyen et al. · 2014 [cited by applicant]
US 20140122781A1 · Smith · 2014 [cited by examiner]
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 20140281129A1 · Heller · 2014 [cited by examiner]
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 20150113203A1 · Dancho et al. · 2015 [cited by applicant]
US 20150134930A1 · Huang et al. · 2015 [cited by applicant]
US 20150149789A1 · Seo et al. · 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 et al. · 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 examiner]
US 20160018998A1 · Mohan et al. · 2016 [cited by applicant]
US 20160019148A1 · Vekiarides · 2016 [cited by applicant]
US 20160019159A1 · Ueda · 2016 [cited by applicant]
US 20160026564A1 · Manning · 2016 [cited by examiner]
US 20160034221A1 · Zettsu · 2016 [cited by applicant]
US 20160070496A1 · Cohen · 2016 [cited by applicant]
US 20160092116A1 · Liu · 2016 [cited by applicant]
US 20160147669A1 · Huang · 2016 [cited by applicant]
US 20160179664A1 · Camp · 2016 [cited by applicant]
US 20160202910A1 · Ravimohan · 2016 [cited by applicant]
US 20160253091A1 · Ayyavu · 2016 [cited by applicant]
US 20160342509A1 · Kotte et al. · 2016 [cited by applicant]
US 20160357462A1 · Nam et al. · 2016 [cited by applicant]
US 20160364179A1 · Tsai et al. · 2016 [cited by applicant]
US 20170031699A1 · Banerjee et al. · 2017 [cited by applicant]
US 20170075620A1 · Yamamoto · 2017 [cited by applicant]
US 20170109078A1 · Shaharabany · 2017 [cited by applicant]
US 20170139838A1 · Tomlin · 2017 [cited by applicant]
US 20170192901A1 · Coffin · 2017 [cited by applicant]
US 20170199703A1 · Ravimohan · 2017 [cited by applicant]
US 20170220287A1 · Wei · 2017 [cited by applicant]
US 20170364445A1 · Allison · 2017 [cited by applicant]
US 20180046480A1 · Dong · 2018 [cited by examiner]
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 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]
Mying 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 at… [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 pp. Feb. 27, 2008. [cited by applicant]
Open NAND Flash Interface (ONFI), specification, version 3.1, 296 pp. 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]