News Column

Patent Issued for Booting a Memory Device from a Host

May 7, 2014



By a News Reporter-Staff News Editor at Journal of Engineering -- A patent by the inventors Fai, Anthony (Palo Alto, CA); Wakrat, Nir Jacob (Los Altos, CA); Seroff, Nicholas (Los Gatos, CA), filed on July 1, 2011, was published online on April 22, 2014, according to news reporting originating from Alexandria, Virginia, by VerticalNews correspondents.

Patent number 8706955 is assigned to Apple Inc. (Cupertion, CA).

The following quote was obtained by the news editors from the background information supplied by the inventors: "This document relates to booting a memory device, such as device with flash memory, from a host.

"Various types of non-volatile memory (NVM), such as flash memory (e.g., NAND flash memory, NOR flash memory), can be used for mass storage. For example, consumer electronics (e.g., portable media players) use flash memory to store data, including music, videos, images, and other media or types of information.

"Memory devices have been configured to boot from information that is stored locally on the devices. For example, a memory device that includes a memory controller (with one or more processors/microprocessors) can boot using firmware that is stored in NVM of the memory device. In another example, a 'raw' memory device (a memory device that does not include a memory controller) can boot using trim values that are stored in NVM of the memory device. Trim values can be loaded into registers of a raw memory device and can be used by circuitry on a raw memory device to control various operations of the raw memory device, such as timing, pulse counts, and/or applied voltage levels."

In addition to the background information obtained for this patent, VerticalNews journalists also obtained the inventors' summary information for this patent: "This document generally describes technologies relating to booting memory devices from a host device. A host device can store boot information (e.g., firmware, trim values) for one or more memory devices and can provide such boot information to the memory devices over one or more communication channels (e.g., a bus) between the host device and the memory devices. Boot information can be provided to a memory device by a host device in response to or in conjunction with an indication to boot the memory device. For example, a host device can provide a boot command to a memory device and can subsequently provide boot information to the memory device in response to a signal from the memory device indicating that the memory device is ready to receive the boot information. In another example, a memory device that is powered off can receive a signal that prompts the memory device to power on and boot. In response to such an indication, the memory device can request and receive boot information from the host device.

"In one implementation, a method includes receiving, at a memory device, an instruction to boot the memory device, wherein the memory device includes non-volatile memory accessible by a controller of the memory device; and, in response to receiving the instruction to boot the memory device, obtaining, by the memory device, firmware from a host device, wherein the host device is separate from and communicatively coupled to the memory device. The method can also include booting the memory device using the firmware from the host device, wherein the memory device boots separately from the host device, and the host device performs operations using data or instructions stored in the non-volatile memory and obtained through communication with the memory controller of the memory device.

"In another implementation, a method includes providing, by a host device, a boot command to a memory device instructing the memory device to boot using firmware from the host device, wherein the host device is separate from and communicatively coupled to the memory device, and the memory device includes non-volatile memory. The method can also include receiving, at the host device, an indication that the memory device is ready to receive the firmware from the host device; and, in response to receiving the indication, transmitting, by the host device, the firmware to the memory device, wherein transmission of the firmware to the memory device causes the memory device to boot using the firmware, wherein the memory device boots separately from the host device.

"In another implementation, a memory device includes non-volatile memory, a host interface adapted to communicatively couple the memory device to a host device, and a memory controller configured to perform memory operations on the non-volatile memory and adapted to communicate with the host device through the host interface. The memory controller can further be configured to receive an instruction to boot the memory device from the host device through the host interface; in response to receiving the instruction, obtain firmware from the host device; and boot the memory device using the firmware from the host device, wherein the memory device boots separately from the host device, and the host device performs operations using data or instructions stored in the non-volatile memory and obtained through communication with the memory controller of the memory device through the host interface.

"In another implementation, a system includes non-volatile memory, and a memory controller configured to perform memory operations on the non-volatile memory and to communicate with a host device through a host interface. The memory controller can further be configured to receive an instruction to boot the memory device from the host device through the host interface; in response to receiving the instruction, obtain firmware from the host device; and boot the memory device using the firmware from the host device, wherein the memory device boots separately from the host device, and the host device performs operations using data or instructions stored in the non-volatile memory and obtained through communication with the memory controller of the memory device through the host interface.

"Particular embodiments of the subject matter described in this specification can be implemented so as to realize one or more of the following advantages. Wear on NVM of a memory device can be reduced. For instance, a memory device may toggle on and off with great frequency to reduce power consumption (e.g., toggle off when not being used), which can cause portions of NVM storing boot information for the memory device to be accessed every time the device is powered on to boot the device. Such frequent accessing can wear on the NVM and shorten the lifespan of the NVM. By obtaining boot information from a host device instead of from NVM of a memory device, the wear on the NVM of the memory device can be reduced and the lifespan of the NVM of the memory device can be extended.

"The speed with which a memory device boots can be increased, which can minimize delays in accessing data stored by the memory device. For instance, boot information for the memory device can be stored in NVM of a host device and loaded into volatile memory (e.g., random access memory (RAM)) of the host device when the host device boots (e.g., using its own boot information). While memory devices are toggled on and off, the host device can maintain the boot information in and provide the boot information from its volatile memory to the memory devices. This transfer of boot information from volatile memory of the host device to the memory device can be faster than the memory device reading boot information from NVM that is local to the memory device.

"The available storage capacity of memory device can be increased and the aggregate storage capacity of a system including a host device and multiple memory devices can be increased. For example, by moving boot information from NVM of a memory device to a host device, the storage space on the NVM of the memory device that would have stored the boot information can be made available to store other information (e.g., data). In another example, a host device can store a single copy of boot information that is common to multiple memory devices instead of each of the multiple memory devices storing a local copy of the boot information. Aggregate storage capacity of a system with multiple memory devices can be increased by avoiding redundant storage of boot information across the multiple memory devices.

"Updates and changes to the manner in which a memory device operates can be easily made by updating/changing the boot information provided by a host device to a memory device. For example, if an error is encountered with a memory device, a host device can cause the memory device to reboot using debug firmware (provided by the host to the memory device) instead of with operational firmware that was used when the error was encountered. Debug firmware can cause a memory device to perform various debug operations (e.g., generate an error log, identify a source of an error) and to provide obtained debug information to a host device. A host device can store various types of firmware (e.g., operational firmware, debug firmware, manufacturing firmware) and can switch between which firmware is provided to a memory device depending on the state of the memory device (e.g., error encountered, recent installation of new hardware, operating normally).

"The details of one or more embodiments are set forth in the accompanying drawings and the description below. Other features, objects, and advantages of the invention will be apparent from the description and drawings, and from the claims."

URL and more information on this patent, see: Fai, Anthony; Wakrat, Nir Jacob; Seroff, Nicholas. Booting a Memory Device from a Host. U.S. Patent Number 8706955, filed July 1, 2011, and published online on April 22, 2014. Patent URL: http://patft.uspto.gov/netacgi/nph-Parser?Sect1=PTO2&Sect2=HITOFF&p=21&u=%2Fnetahtml%2FPTO%2Fsearch-bool.html&r=1027&f=G&l=50&co1=AND&d=PTXT&s1=20140422.PD.&OS=ISD/20140422&RS=ISD/20140422

Keywords for this news article include: Apple Inc.

Our reports deliver fact-based news of research and discoveries from around the world. Copyright 2014, NewsRx LLC


For more stories covering the world of technology, please see HispanicBusiness' Tech Channel



Source: Journal of Engineering


Story Tools






HispanicBusiness.com Facebook Linkedin Twitter RSS Feed Email Alerts & Newsletters