Patent application number | Description | Published |
20100077194 | TURBO BOOT SYSTEMS AND METHODS - A computer system includes a hard disk drive and a non-volatile semiconductor memory. The hard disk drive stores a first set of data that includes boot up data. The non-volatile semiconductor memory is distinct from semiconductor memory of the hard disk drive and semiconductor memory of a host of the computer system. A turbo boot driver module stores the boot up data in the non-volatile semiconductor memory and transfers the boot up data from the non-volatile semiconductor memory to a file system of the host during a boot up mode of the host. | 03-25-2010 |
20100174934 | Hibernation or Suspend Using a Non-Volatile-Memory Device - This disclosure describes techniques for using a non-volatile-memory device such as flash memory to store memory data during hibernation or suspend. By so doing, hard drives and/or data are safer, and less power may be used. | 07-08-2010 |
20110138112 | Virtualization of Storage Devices - Systems and techniques relating to storage technologies are described. A described technique includes operating drives such as a solid state drive (SSD) and a disk drive, where the SSD and the disk drive are virtualized as a single logical drive having a logical address space, where the logical drive maps logical block addresses to the SSD and to the disk drive. The technique includes determining, based on a file to be written to the logical drive, a target logical address that corresponds to one of the SSD and the disk drive, and writing the file to the logical drive at the target logical address to effect storage on one of the SSD and the disk drive. | 06-09-2011 |
20110202710 | PROTECTION AGAINST DATA CORRUPTION FOR MULTI-LEVEL MEMORY CELL (MLC) FLASH MEMORY - Apparatus having corresponding methods and non-transitory computer-readable media comprise a flash controller configured to control a multi-level memory cell (MLC) flash memory, wherein the MLC flash memory includes a plurality of memory blocks, wherein each memory block includes a plurality of memory cells defining a plurality of pages, wherein each memory cell spans a group of the pages in one of the memory blocks, and wherein the flash controller comprises circuitry configured to receive data to be written to the MLC flash memory, select only one page, from each group of the pages, in one or to more of the memory blocks, and write the data only to the selected pages. | 08-18-2011 |
20130091307 | METHOD AND APPARATUS FOR EFFECTIVELY INCREASING A COMMAND QUEUE LENGTH FOR ACCESSING STORAGE - The present disclosure includes systems and techniques relating to effectively increasing a command queue length for accessing storage, such as by increasing the Queuing Depth (Q-Depth) of Native Command Queuing (NCQ) Commands. In some implementations, a method can comprise receiving a first command to access a first memory location of a storage device; receiving a second command to access a second memory location of a storage device; constructing a consolidated command including a memory address and a data transfer count associated with each of the first command and the second command; constructing an information command having consolidation information about the consolidated command; and communicating the information command and the consolidated command to the storage device for processing by the storage device. | 04-11-2013 |
20130219160 | SYSTEM AND METHOD FOR BOOTING UP A COMPUTER BASED ON DATA CAPTURED IN A NON-VOLATILE SEMICONDUCTOR MEMORY DURING A LEARN MODE - A system includes a timer and a control module. The control module: in response to a first request for first data, determines whether the first data is stored in a non-volatile semiconductor memory (NVSM); in response to the first data not being stored in the NVSM, (i) loads the first data from a hard disk drive (HDD) and boots up a computer a first time based on the first data, and (ii) while operating in a learn mode and while loading the first data from the HDD, captures a portion of the first data in the NVSM; in response to the timer indicating an end of a period during which the computer is booted up the first time, ceases the capturing of the first data; and based on the portion of the first data captured in the NVSM during the learn mode, boots up the computer a second time. | 08-22-2013 |
20130282927 | SCSI I/O COMMAND AGGREGATION - The present disclosure includes systems and techniques relating to input/output (I/O) command aggregation for Small Computer System Interface (SCSI) enabled devices. In some implementations, a method can comprise receiving a first command for a target device, wherein the first command includes a first memory address and a first data transfer count; receiving a second command for the target device, wherein the second command includes a second memory address and a second data transfer count, and wherein the first and second commands are entirely read commands or entirely write commands; aggregating the first and second memory addresses and the first and second data transfer counts into consolidated command information; generating a packet command that includes a packet tag and a data size corresponding to the consolidated command information; communicating the packet command to the target device; in response to receiving a transfer ready notification from the target device, communicating the consolidated command information to the target device; and communicating additional information to the target device. | 10-24-2013 |
20140022843 | Protection Against Data Corruption for Multi-Level Memory Cell (MLC) Flash Memory - A system including a controller in communication with a memory. The memory includes memory cells arranged in memory blocks. Each memory cell is capable of storing a plurality of bits. Each memory block defines a plurality of pages. A page in a memory block includes one of the plurality of bits of a plurality of memory cells in the memory block. The controller is configured to write data to selected pages in one or more memory blocks. The system includes circuitry configured to write data from a predetermined number of pages of the selected pages to a memory block other than the one or more memory blocks in response to the predetermined number of pages being full of data. The predetermined number is based on one or more of a number of pages in each memory block and a number of bits in the plurality of bits. | 01-23-2014 |
20140310449 | Virtualization of Storage Devices - Systems and techniques relating to storage technologies include, according to an aspect, a data processing apparatus including: a processor; a controller coupled with the processor; a solid state drive coupled with the controller; and a mass storage drive coupled with the controller; wherein at least a portion of the solid state drive and the mass storage drive are virtualized as a single physical storage drive; wherein multiple applications stored in the virtualized single physical storage drive are configured to run on the processor; wherein one or more applications in a hot application group are stored in the solid state drive, and one or more applications in a cold application group are stored in the mass storage drive; and wherein each of the multiple applications is actively monitored and placed in either the hot application group or the cold application group. | 10-16-2014 |