发明名称 |
Apparatus and method for routing information in a non-volatile memory-based storage device |
摘要 |
Various systems, methods, apparatuses, and computer-readable media for accessing a storage device are described. In certain example embodiments, an active/active fault-tolerant storage device comprising two or more controllers may be implemented. In one aspect, each controller may have two or more processing entities for distributing the processing of the I/O requests. In one embodiment, the configuration of the components, modules and the controller board may be arranged in a manner to enhance heat dissipation, reduce power consumption, spread the power and work load, and reduce latency. In one embodiment, each controller may be coupled to the non-volatile memory (NVM) blades comprising the non-volatile memory (NVM) storage medium. In one example implementation, a standardized protocol, such as the Peripheral Component Interconnect Express protocol may be used for communicating amongst the various components of the controller and also the NVM storage medium. |
申请公布号 |
US9229855(B2) |
申请公布日期 |
2016.01.05 |
申请号 |
US201314078302 |
申请日期 |
2013.11.12 |
申请人 |
Skyera, LLC |
发明人 |
Danilak Radoslav;Radke William |
分类号 |
G06F12/02 |
主分类号 |
G06F12/02 |
代理机构 |
Wilmer Cutler Pickering Hale and Dorr LLP |
代理人 |
Wilmer Cutler Pickering Hale and Dorr LLP |
主权项 |
1. A storage device comprising:
a plurality of non-volatile memory (NVM) blades, wherein each of the NVM blades from the plurality of NVM blades comprises non-volatile memory; a first processing entity coupled to the plurality of NVM blades, wherein the first processing entity is configured to:
receive a first input/output (I/O) request;determine if the first I/O request is a first read or a first write request;in response to determining that the first I/O request is a first read request,
determine a first target NVM blade from the plurality of NVM blades and a location in the first target NVM blade from which first data is to be read;request and receive the first data associated with the first I/O request from the first target NVM blade; andin response to determining that the first I/O request is a first write request;
determine the first target NVM blade from the plurality of NVM blades and the location in the first target NVM blade at which second data is to be stored;transmit second data to the first target NVM blade for storing the second data in the first target NVM blade; and a second processing entity coupled to the plurality of NVM blades, wherein the second processing entity is configured to:
receive a second input/output (I/O) request;determine if the second I/O request is a second read or a second write request;in response to determining that the second I/O request is a second read request,
determine a second target NVM blade from the plurality of NVM blades and a location in the second target NVM blade from which third data is to be read; andrequest and receive the third data associated with the second I/O request from the second target NVM blade; andin response to determining that the second I/O request is a second write request;
determine the second target NVM blade from the plurality of NVM blades and the location in the second target NVM blade at which fourth data is to be stored; andtransmit fourth data to the second target NVM blade for storing the fourth data in the second target NVM blade. |
地址 |
San Jose CA US |