A new Apple patent (number 20110238887) has popped up at the US Patent & Trademark Office, showing that Apple is working on a hybrid drive that combines hard disk drive (HDD) and flash memory elements.
Per the patent, a hybrid storage device that includes a hard-disk drive and a flash memory is described. When control logic in the hybrid storage device receives a request from an external device to write a block of data to a logical address in a first portion of an address space that maps to the HDD, the control logic writes the block of data to the HDD.
However, if there is a change in environmental state information of the hybrid storage device during the write operation, the control logic writes at least a portion of the block of data to a logical address for the block of data in a second portion of the address space which maps to the flash memory. Note that the address space may be common to the external device and the hybrid storage device. Khalu Bazzani is the inventor.
Here's Apple's background and summary of the invention: "The present disclosure relates to a hybrid storage device that includes different types of storage media and associated systems. More specifically, the present disclosure relates to a hybrid storage device in which blocks of data are stored in the different types of storage media based on an environmental state of the hybrid drive.
"While hard-disk drives (HDDs) are capable of storing large amounts of data at a low cost per byte, they can be sensitive to environmental conditions. In particular, operation of modern HDDs involves accurately maintaining the vertical and horizontal positions of read and write transducers within a few nanometers of a disk that is spinning at a rotational velocity in excess of 10,000 rpm. In addition, as the aerial density in HDDs increases, the current density in the read transducers increases, and the magnetic volume associated with a bit stored on the disk decreases.
"These design changes increase the sensitivity of HDDs to potential effects associated with ambient temperature and the thermal energy dissipated by HDDs, including: thermal runaway, electro-migration and superparamagnetism.
As a consequence, HDDs are increasingly sensitive to environmental conditions, such as changes in temperature, vibration and acceleration, which can disrupt operation of an HDD, and can result in HDD failure and/or loss of data. In turn, these limitations can adversely impact the performance of systems (such as computer systems) that include HDDs, and can necessitate additional data and storage-device redundancy that can increase the complexity and cost of these systems. Hence, what is needed are a storage device, as well as a system that includes the storage device, which overcome the problems listed above.
"One embodiment of the present disclosure relates to a hybrid storage device that includes: a hard-disk drive (HDD), a flash memory, an interface circuit, and control logic. This control logic receives a request, via the interface circuit, from an external device to write a block of data to the hybrid storage device, where the request includes a logical address for the block of data in a first portion of an address space which maps to the HDD. In response to the request, the control logic writes the block of data to the HDD.
"Furthermore, if there is a change in environmental state information of the hybrid storage device during the write operation, the control logic writes at least a portion of the block of data to a logical address for the block of data in a second portion of the address space which maps to the flash memory. Note that the address space may be common to the external device and the hybrid storage device.
"In some embodiments, the change in the environmental state information is associated with an operating state of the HDD in which failure or shut down of the HDD is to occur during the write operation. For example, the operating state of the HDD may be associated with: a change in an internal temperature of the HDD, acceleration of the HDD, and/or vibration of the HDD. Moreover, during the operating state one or more transducers in the HDD may be parked.
"Additionally, the change in the environmental state information may include detecting an error associated with an operating state of the HDD. For example, the error may indicate that data stored on the HDD is at risk of imminent loss during the write operation.
"In some embodiments, the first portion of the address space and the second portion of the address space are statically allocated. Alternatively, the first portion of the address space or the second portion of the address space can be reallocated when the HDD or the flash memory is reformatted. Furthermore, in some embodiments the first portion of the address space and the second portion of the address space may be dynamically allocated. This dynamic allocation may be based on: characteristics of an activity history of the external device and/or characteristics of an application executing on the external device.
"In some embodiments, if a request is received from the external device to read a block of data from a logical address that maps to the HDD in the hybrid storage device, and the HDD is inoperative due to an environmental condition, the control logic accesses the block of data at a logic address which maps to the flash memory if the block of data is also stored on the flash memory.
"Another embodiment provides a computer system that includes the hybrid storage device.
"Another embodiment provides a method for writing blocks of data to the hybrid storage device. During operation, the control logic receives the request from the external device to write the block of data to the hybrid storage device, where the request includes the logical address for the block of data in the first portion of an address space which maps to the HDD. In response to the request, the control logic writes the block of data to the HDD. Furthermore, if there is a change in the environmental state information of the hybrid storage device during the write operation, the control logic writes at least a portion of the block of data to the logical address for the block of data in the second portion of the address space which maps to the flash memory."
-- Dennis Sellers