Method and apparatus for storage device latency/bandwidth self monitoring
AssigneeSamsung Electronics Co., Ltd.
InventorsInseok Stephen Choi, Yang Seok Ki, Byoung Young Ahn
Life of this patent
Estimating the term…
Abstract
A storage device (220) is described. The storage device (220) may store data in a storage memory (445), and may have a host interface (420) to manage communications between the storage device (220) and a host machine (110, 115, 120, 125, 130). The storage device (220) may also include a translation layer (430) to translate addresses between the host machine (110, 115, 120, 125, 130) and the storage memory (445), and a storage interface (440) to access data from the storage memory (445). An in-storage monitoring engine (425) may determine characteristics (605, 610, 615) of the storage device (220), such as latency (605), bandwidth (610), and retention (615).
Claims21
A Solid State Drive (SSD), comprising:
- flash memory to store data;
- a host interface to manage communications between the SSD and a host machine;
- a Flash Translation Layer (FTL) to translate a first address received from a host into a second address in the flash memory;
- a flash interface to access the data from the second address in the flash memory;
- and
- a polymorphic device kernel to issue instructions to a first application using a first Polymorphic Interface Layer (PIL) and to a second application using a second PIL, the first PIL using a first interface and the second PIL using a second interface, the first interface different from the second interface, the polymorphic device kernel including an in-storage monitoring engine to determine a current value of a dynamic characteristic of the SSD at run-time, the dynamic characteristic drawn from a set including a latency, a bandwidth, and a retention of the SSD,
- the in-storage monitoring engine including a processor to execute a profiling command received from a requestor at the SSD to determine the dynamic characteristic of the SSD at run-time;
- returning a result to the requestor from the SSD;
- receiving a second profiling command from a second requestor at the SSD;
- determining if a performance table includes the result satisfying the second profiling command;
- and
- based at least in part on the performance table including the result satisfying the second profiling command, returning the result in the performance table to the second requestor from the SSD without performing the second profiling command,
- wherein:
- the latency is a first time between when the SSD receives from the host an instruction to transfer the data and when the SSD begins the transfer of the data,
- the bandwidth is a bit-rate of an amount of data that may be transferred by the SSD in a unit of time, and
- the retention is a second time measuring how long the data is resident on the SSD.
A method, comprising:
- receiving a profiling command from a requestor at a storage device, the profiling command specifying a dynamic characteristic of the storage device to be determined;
- performing the profiling command internally to the storage device at run-time to produce a result using an in-storage monitoring engine, the in-storage monitoring engine included in a polymorphic device kernel, the polymorphic device kernel operative to issue instructions to a first application using a first Polymorphic Interface Layer (PIL) and to a second application using a second PIL, the first PIL using a first interface and the second PIL using a second interface, the first interface different from the second interface, the result including a current value of the dynamic characteristic of the storage device, the dynamic characteristic drawn from a set including a latency, a bandwidth, and a retention of the storage device, the in-storage monitoring engine including a processor to execute the profiling command to determine the dynamic characteristic of the storage device at run-time;
- returning the result to the requestor from the storage device,
- receiving a second profiling command from a second requestor at the storage device;
- determining if a performance table includes the result satisfying the second profiling command;
- and
- based at least in part on the performance table including the result satisfying the second profiling command, returning the result in the performance table to the requestor from the storage device without performing the second profiling command,
- wherein:
- the latency is a first time between when the storage device receives from the host an instruction to transfer the data and when the storage device begins the transfer of the data,
- the bandwidth is a bit-rate of an amount of data that may be transferred by the storage device in a unit of time;
- and
- the retention is a second time measuring how long the data is resident on the storage device.
An article, comprising a tangible storage medium, the tangible storage medium having stored thereon non-transitory instructions that, when executed by a machine, result in:
- receiving a profiling command from a requestor at a storage device at run-time, the profiling command specifying a dynamic characteristic of the storage device to be determined;
- performing the profiling command internally to the storage device at run-time to produce a result using an in-storage monitoring engine, the in-storage monitoring engine including a processor to execute the profiling command to determine the dynamic characteristic of the storage device at run-time, the result including a current value of the dynamic characteristic of the storage device;
- returning the result to the requestor from the storage device,
- receiving a second profiling command from a second requestor at the storage device;
- determining if a performance table includes the result satisfying the second profiling command;
- and
- based at least in part on the performance table including the result satisfying the second profiling command, returning the result in the performance table to the requestor from the storage device without performing the second profiling command,
- wherein the dynamic characteristic of the storage device is drawn from a set including a latency, a bandwidth, and a retention of the storage device,
- the latency is a first time between when the storage device receives from the host an instruction to transfer the data and when the storage device begins the transfer of the data at run-time,
- the bandwidth is a bit-rate of an amount of data that may be transferred by the storage device in a unit of time at run-time;
- and
- the retention is a second time measuring how long the data is resident on the storage device at run-time.
Dependencies are inferred from the claim text.