Patent application number | Description | Published |
20090172247 | CONTROLLER FOR ONE TYPE OF NAND FLASH MEMORY FOR EMULATING ANOTHER TYPE OF NAND FLASH MEMORY - A controller for one type of NAND flash memory device that emulates another type of NAND flash memory device. The controller may include a host NAND interface to receive host data from a NAND host device, and a data aggregator for aggregating the host data with complementary data, to thereby create device data that is storable in a device page of an array of NAND flash memory cells of the NAND flash memory device. After creating the device data the controller writes the device data into a device page of the NAND flash memory cells. The controller also includes a data parser to parse host data from device data when data read operations are executed by the controller. If required, the controller uses the data parser to parse complementary data from device data to create device data when data writing operations are executed by the controller. | 07-02-2009 |
20090172276 | STORAGE DEVICE HAVING REMOTE STORAGE ACCESS - A method of servicing a command sent from a host device file system (HDFS) within a host device (HD) by a local storage device (LSD) in communication with the HD is described. The method includes receiving a first command at the LSD instructing the LSD to execute an operation on associated logical addresses. If the first command is associated with at least a first set of logical addresses, the method includes servicing the first command by the LSD at least by way of sending a second command to a device (RD) external to the LSD that instructs the RD to execute an operation on memory locations within the RD. If the first command is not associated with the first set of logical addresses, the method includes servicing the first command by the LSD only by way of operations executed by the LSD on memory locations within the LSD. | 07-02-2009 |
20090172333 | STORAGE DEVICE COORDINATOR AND A HOST DEVICE THAT INCLUDES THE SAME - A storage device coordinator intercepts a memory command issued by a host device and intended for a target storage device which is one of a plurality of storage devices, and, if the memory command is not optimal, transforms the memory command into one or more storage commands, each being associated with a respective storage device selected from the plurality of storage devices according to an optimization rule. A host device is also provided, which includes the storage device coordinator. A data storage system is also provided, which includes the storage device coordinator. | 07-02-2009 |
20100030963 | MANAGING STORAGE OF CACHED CONTENT - A method of controlling storage of content on a storage device includes communicating with a storage device configured to cache content; and determining a storage cost for caching a first set of data objects on the storage device. The determining is based, at least in part, on characteristics of the first set of data objects and on characteristics of the storage device. Also provided is a storage system that includes a storage device capable of caching media content, a storage device agent and a cache manager. The storage device agent is operative to communicate with the storage device and with the cache manager, and to provide a storage cost to the cache manager. The storage device agent determines the storage cost for caching a data object on the storage device based, at least in part, on characteristics of the data object and on characteristics of the storage device. | 02-04-2010 |
20100049913 | MANAGING MULTIPLE CONCURRENT OPERATIONS WITH VARIOUS PRIORITY LEVELS IN A LOCAL STORAGE DEVICE - Techniques for rendering the management of processes supported by a storage device are described. In particular, the efficient allocation of storage array processing resources when managing concurrent processes on a storage array is described. | 02-25-2010 |
20100106886 | Transparent Self-Hibernation of Non-Volatile Memory System - A memory system self-initiates hibernation mode and responds to host commands issued during hibernation within a host protocol timeout period. Hibernation mode is entered after controller state data has been stored and while no host command to the memory system is pending. Power to volatile data storage is diminished during hibernation mode. Upon receiving a host command during hibernation mode, power is restored and a reduced portion of the controller state data is read from non-volatile memory. A removable data storage device or a portable electronic device with embedded data storage may be constructed with such a self-hibernating memory system. | 04-29-2010 |
20110271045 | Controller for One Type of NAND Flash Memory for Emulating Another Type of NAND Flash Memory - A method of executing an erasing instruction to erase host data from a flash memory device is provided. The method initiates with receiving from a host device an erase instruction to erase host data from an array of NAND flash memory cells grouped into separately-erasable device blocks, each device block including multiple device pages, the host data being a portion of device data that is stored in a device block. The host data is marked as erased, and a message is sent to the host device indicating that the host data has been erased. | 11-03-2011 |
20110296088 | MEMORY MANAGEMENT STORAGE TO A HOST DEVICE - Systems and methods of memory management storage to a host device are disclosed. A method is performed in a data storage device with a non-volatile memory and a controller operative to manage the non-volatile memory and to generate management data for managing the non-volatile memory. The method includes performing, at a given time, originating at the controller data management transfer to a host device or originating at the controller data management retrieval from the host device. | 12-01-2011 |
20120167100 | MANUAL SUSPEND AND RESUME FOR NON-VOLATILE MEMORY - An external controller has greater control over control circuitry on a memory die in a non-volatile storage system. The external controller can issue a manual suspend command on a communication path which is constantly monitored by the control circuitry. In response, the control circuitry suspends a task immediately, with essentially no delay, or at a next acceptable point in the task. The external controller similarly has the ability to issue a manual resume command, which can be provided on the communication path when that path has a ready status. The control circuitry can also automatically suspend and resume a task. The external controller can cause a task to be suspended by issuing an illegal read command. The external controller can cause a suspended program task to be aborted by issuing a new program command. | 06-28-2012 |
20130024611 | Controller for One Type of NAND Flash Memory for Emulating Another Type of NAND Flash Memory - A method of executing reading instruction to read host data from a flash memory device is provided. The method initiates with receiving from a host device a read instruction to read host data from an array of NAND flash memory cells grouped into separately-readable device pages, the host data being a portion of device data that is stored in a device page. The host data is parsed from device data, and the parsed host data is sent to the host device. | 01-24-2013 |
20130238844 | METHOD AND SYSTEM FOR ACCESSING A STORAGE SYSTEM WITH MULTIPLE FILE SYSTEMS - In order to write data to a storage system accessible with a first and second file system, a manager receives a data write request associated with a file. The manager determines if a function supported by the second file system is needed to complete the write request. If so, the file is opened and extended with the first file system. The file is then opened and written to by the second file system. The file is truncated by the first file system, and closed by both file systems. If the second file system function is not needed, the file is opened, written, and closed by the first file system. In order to read data from a storage system using a function supported by the second file system, the second file system's cached storage system index is updated, then the file is opened, read, and closed by the second file system. | 09-12-2013 |
20130265841 | Immunity Against Temporary and Short Power Drops in Non-Volatile Memory - A mechanism is presented memory circuits, such a NAND-type flash memories, to autonomously protect themselves from temporary and short power drops. A detection mechanism looks for the supply voltage to drop below a function voltage for a period of time. When such an event occurs, a suspend mechanism is activated, and after completing the last micro-operation (such as a program pulse) the memory freezes. When power is again stable at an operational level, the suspended operation is resumed. The memory controller can then be notified upon occurrence of such voltage drop by polling a special status bit. Examples of how the pausing can be implemented include altering of clock signals and suspending sub-phases of larger operations. | 10-10-2013 |
20130326141 | Method and Host Device for Packing and Dispatching Read and Write Commands - A method and host device for packing and dispatching read and write commands are provided. In one embodiment, a host device receives commands from at least one application, wherein the commands include read commands and write commands. The host device stores the commands in the memory. The host device then selects the read commands from the memory and packs them together but separately from the write commands. The same thing is done for the write commands. The host device then sends the packed read commands and the packed write commands to the storage device. In another embodiment, the host device determines when to send the packed commands to the storage device based on at least one parameter. | 12-05-2013 |
20130326169 | Method and Storage Device for Detection of Streaming Data Based on Logged Read/Write Transactions - A method and storage device for detection of streaming data based on logged read/write transactions are provided. In one embodiment, a storage device classifies data as belonging to one of at least three classes based on a set of characteristics and then applies operational parameters to the data depending on the class of the data. Other embodiments are possible, and each of the embodiments can be used alone or together in combination. | 12-05-2013 |
20140063939 | DIRECT MULTI-LEVEL CELL PROGRAMMING - A method is performed in a data storage device that includes a controller coupled to a non-volatile memory. The non-volatile memory includes a group of storage elements. Each storage element is configured to store multiple data bits. Data is sent from the controller to the non-volatile memory and first bits corresponding to a first portion of the data are stored into the group of storage elements during a first write stage. Each storage element of the group of storage elements stores at least one bit of the first bits upon completion of the first write stage. Second bits corresponding to a second portion of the data are sent to a second memory without sending the first bits to the second memory. The second bits are retrieved from the second memory and at least the second bits are stored into the group of storage elements during a second write stage. | 03-06-2014 |
20140075133 | Peak Current Management in Multi-Die Non-Volatile Memory Devices - Techniques are presented to operate a greater number of dice in parallel while not exceeding peak current limits. The device can arbitrate between multiple dice and, when needed, suspend operations on one or more dice in a way to average the chance of performance penalty so that all chips will proceed with write at an equal probability. In other aspects, the suspension of operations can be weighted based on factors such as the relative speed of the different dice or differing loads. | 03-13-2014 |
20140189263 | Storage Device and Method for Reallocating Storage Device Resources Based on an Estimated Fill Level of a Host Buffer - A storage device and method for reallocating storage device resources based on an estimated fill level of a host buffer are disclosed. In one embodiment, a storage device receives, from a host device, a rate at which the host device stores data in its buffer and tracks an amount of data that was received from the host device. The storage device estimates a fill level of the buffer at an elapsed time using the rate, the elapsed time, and the amount of data received from the host device over that elapsed time. If the estimated fill level of the buffer is above a threshold, the storage device increases a rate of receiving data from the host device. | 07-03-2014 |
20140254266 | DIRECT MULTI-LEVEL CELL PROGRAMMING - A data storage device includes a controller coupled to a non-volatile memory having a three-dimensional (3D) configuration. The non-volatile memory includes a group of storage elements. Each storage element is configured to store multiple data bits. Data is sent from the controller to the non-volatile memory and first bits corresponding to a first portion of the data are stored into the group of storage elements during a first write stage. Each storage element of the group of storage elements stores at least one bit of the first bits upon completion of the first write stage. Second bits corresponding to a second portion of the data are sent to a second memory without sending the first bits to the second memory. The second bits are retrieved from the second memory and at least the second bits are stored into the group of storage elements during a second write stage. | 09-11-2014 |
20140281127 | Storage Module and Method for Regulating Garbage Collection Operations Based on Write Activity of a Host - A storage module and method for regulating garbage collection operations based on write activity of a host are disclosed. In one embodiment, a storage module determines whether the host is operating in a burst mode by determining whether write activity of the host over a time period exceeds a threshold. The write activity can comprise one or both of (i) an amount of data received from the host to be written in the storage module and (ii) a number of write commands received from the host. If the host is operating in the burst mode, the storage module limits an amount of garbage collection operations during the burst mode. When the host is no longer operating in the burst mode, the storage module increases an amount of garbage collection operations. | 09-18-2014 |
20150023099 | DIRECT MULTI-LEVEL CELL PROGRAMMING - A method is performed in a data storage device that includes a controller coupled to a non-volatile memory. The non-volatile memory includes a group of storage elements. Each storage element is configured to store multiple data bits. Data is sent from the controller to the non-volatile memory and first bits corresponding to a first portion of the data are stored into the group of storage elements during a first write stage. Each storage element of the group of storage elements stores at least one bit of the first bits upon completion of the first write stage. Second bits corresponding to a second portion of the data are sent to a second memory without sending the first bits to the second memory. The second bits are retrieved from the second memory and at least the second bits are stored into the group of storage elements during a second write stage. | 01-22-2015 |
20150067238 | Computing Device and Method for Predicting Low Memory Conditions - A computing device and method for predicting low memory conditions are disclosed. In one embodiment, a computing device is provided having volatile memory, non-volatile memory, and a processor. The processor generates a metric predictive of an upcoming low-memory condition in the volatile memory. The processor then compares the metric to a threshold. If the metric exceeds the threshold, the processor creates free space in the volatile memory. Other embodiments are possible, and each of the embodiments can be used alone or together in combination. | 03-05-2015 |