摘要:
The mimicking of network devices in a computing device having first and second network interface cards, the first network interface card connecting the computing device to an external network and the second network interface card connecting the computing device to a local network. The invention includes receiving an incoming message from a client network device residing on the external network, the incoming message being directed to a legacy network device residing on the local network, and determining if the incoming message requires a function provided by an application module residing in the computing device. In the case that the incoming message requires a function provided by the application module, the incoming message is redirected to the application module which performs the required function in response to the incoming message. In the case that the incoming message does not require a function provided by the application module, the incoming message is passed through the local network to the legacy network device residing on the local network.
摘要:
Mimicking network devices with a computing device having first and second network interface cards, the first network interface card connecting the computing device to an external network and the second network interface card connecting the computing device to a local network, including obtaining an IP address of a device on the local network, determining an IP address for the second network interface card based on the obtained IP address of the device on the local network, and assigning the determined IP address to the second network interface card.
摘要:
Embodiments for generating and using an enhanced initialization vector are disclosed. In one embodiment, data and a record identifier to which the data is to be written are received. An initialization vector for encrypting the data is then generated. The initialization vector is based on the record identifier and a value that changes every time that the record identifier is to be written to. The value can be generated, for example, by a counter that increments every time the record identifier is to be written to or by a random number generator that generates a random number every time the record identifier is to be written to. In some embodiments, the generated initialization vector is also based on a second value, such as, for example, a value that is shared by other storage modules or a value that is unique to the storage module.
摘要:
A controller-bridge architecture in which a bridge device coupled with the non-volatile memory (NVM) handles inline read-modify-write function under instructions from a controller device is disclosed. In some embodiments, instead of transferring an entire range of data (e.g., a whole NVM page) across a bus between the bridge and the controller twice (once before and once after modification), only the modification data is sent by the controller to the bridge across the bus. The bridge in some embodiments also handles error correction and/or RAID parity striping in the read-modify-write process.
摘要:
Embodiments of the solid-state storage system provided herein are configured to perform improved mechanisms for testing of error recovery of solid state storage devices. In some embodiments, the system is configured to introduce or inject errors into data storage commands or operations performed in the non-volatile memory. Injected errors include corruption of data stored in the non-volatile memory, deliberate failure to execute storage operations, and errors injected into communication protocols used between various elements of the device. In some embodiments, injected errors can include direct errors that trigger an immediate execution of error recovery mechanisms and delayed errors that trigger execution of error recovery mechanisms at a later time. Error recovery mechanisms can be tested in an efficient, reliable, and deterministic manner to help ensure effective operation of storage devices. The integrity of non-volatile memory can also be tested.
摘要:
Disclosed herein is a controller architecture that pairs a controller with a NVM (non-volatile memory) storage system over a high-level, high speed interface such as PCIe. In one embodiment, the NVM storage system includes a bridge that communicates with the controller via the high-level interface, and controls the NVM via an interface (e.g., ONFI). The controller is provided a rich set of physical level of controls over individual elements of the NVM. In one embodiment, the controller is implemented in a higher powered processor that supports advanced functions such as mapping, garbage collection, wear leveling, etc. In one embodiment, the bridge is implemented in a lower powered processor and performs basic signal processing, channel management, basic error correction functions, etc. This labor division provides the controller physical control of the NVM over a fast, high-level interface, resulting in the controller managing the NVM at both the page and block level.
摘要:
Disclosed herein is a controller architecture that pairs a controller with a NVM (non-volatile memory) storage system over a high-level, high speed interface such as PCIe. In one embodiment, the NVM storage system includes a bridge that communicates with the controller via the high-level interface, and controls the NVM via an interface. The controller is provided a rich set of physical level of controls over individual elements of the NVM. In one embodiment, the controller includes a volatile memory (e.g., DRAM) that stores parameters related to the operation of the NVM as provided by the bridge. The parameters may be related to optimizing use of the NVM and are automatically appended by the controller to appropriate data storage commands to the bridge. The parameters may be stored in a table format in which each entry is indexed by a physical address of the NVM.
摘要:
Embodiments for generating and using an enhanced initialization vector are disclosed. In one embodiment, data and a record identifier to which the data is to be written are received. An initialization vector for encrypting the data is then generated. The initialization vector is based on the record identifier and a value that changes every time that the record identifier is to be written to. The value can be generated, for example, by a counter that increments every time the record identifier is to be written to or by a random number generator that generates a random number every time the record identifier is to be written to. In some embodiments, the generated initialization vector is also based on a second value, such as, for example, a value that is shared by other storage modules or a value that is unique to the storage module.
摘要:
Disclosed herein is a controller architecture that pairs a controller with a NVM (non-volatile memory) storage system over a high-level, high speed interface such as PCIe. In one embodiment, the NVM storage system includes a bridge that communicates with the controller via the high-level interface, and controls the NVM via an interface (e.g., ONFI). The controller is provided a rich set of physical level of controls over individual elements of the NVM. In one embodiment, the controller is implemented in a higher powered processor that supports advanced functions such as mapping, garbage collection, wear leveling, etc. In one embodiment, the bridge is implemented in a lower powered processor and performs basic signal processing, channel management, basic error correction functions, etc. This labor division provides the controller physical control of the NVM over a fast, high-level interface, resulting in the controller managing the NVM at both the page and block level.
摘要:
Mimicking network devices with a computing device having first and second network interface cards, the first network interface card connecting the computing device to an external network and the second network interface card connecting the computing device to a local network, including obtaining an IP address of a device on the local network, determining an IP address for the second network interface card based on the obtained IP address of the device on the local network, and assigning the determined IP address to the second network interface card.