Abstract: A local storage device (LSD) is provided configured to have a host device (HD) in communication with the LSD. The LSD includes a memory array. The LSD is configured to characterize data access usage of the LSD by at least one program executing on the HD. The LSD is configured to monitor access to the LSD as a result of data access operations by the HD relative to the memory array of the LSD. The LSD is additionally configured to determine characteristics of the monitored access. The LSD is additionally configured to, based on characteristics of the monitored access, determine and store data on the LSD indicative of the characterized monitored access.
Abstract: Data storage devices and methods to combine user content with supplemental content at a data storage device are disclosed. The data storage device includes a host interface, a controller coupled to the host interface, a first storage area coupled to the controller, and a second storage area coupled to the controller. The host interface is configured to enable the data storage device to receive one or more user content items from a host device when the data storage device is operationally coupled to the host device. The controller is configured to store the one or more user content items in the first storage area. The controller is also configured to combine a particular supplemental content item stored in the second storage area with a particular user content item from among the one or more user content items.
Abstract: A method includes receiving an enumeration message via a host interface of a device that is operatively coupled to a host device and to one or more other devices. The method includes identifying the enumeration message as a command originated by the host device or as a response message from one of the other devices. In response to identifying the enumeration message as a command, an enumeration response message is sent to the host device. The enumeration response message indicates a distinctive device identifier value. The method also includes, in response to identifying the enumeration message as a response message from one of the other devices, reading from the response message an identifier value used by such other device and at least temporarily storing this identifier value at the device to enable the device to select the distinctive device identifier value.
Abstract: A memory card includes a first set of contacts and a second set of contacts. A first edge of the memory card includes an indentation. Insertion of the memory card into a first slot of a host device engages the first set of contacts. The indentation is configured to accept a pivoting lever arm located in the first slot when the memory card is inserted into the first slot.
Abstract: A host device includes a slot configured to receive a first type of memory card having an indentation and a mechanical structure. The mechanical structure includes a pivot structure and a lever arm. The lever arm is configured to pivot on the pivot structure and a portion of the lever arm is configured to at least partially fit into the indentation to distinguish the first type of memory card from a second type of memory card.
Abstract: A device having user-selectable content includes a storage having the capacity to store pre-loaded content and a controller. The controller is operative to manage access to the pre-loaded content, by way of limiting the access to a user-selected portion of the pre-loaded content. The controller limits access subject to and performed according to an indication of an initial purchase transaction. Also provided is a controller that includes a processing unit and an interface to a memory. The processing unit is operative to manage access to pre-loaded content stored on the memory.
Abstract: A file replacement system includes a storage device, a host, and a server. In a file replacement transaction one or more files that are stored in the storage device are replaced in the storage device by one or more files that are provided by the server. The storage device monitors access to the files stored therein and updates an access tracking table with segment access information that pertains to access to segments of the files. While the file replacement transaction is in progress, the storage device delivers the segment access information to the server, and, based on the segment access information and file replacement criteria, the server determines a credit to which the end-user is entitled for the replaced files. The server calculates an outstanding balance for the file replacement transaction from the credit owing to the end-user for the replaced files and from the cost of the replacement files.
Abstract: A mobile device, such as a media player, a telephone, or a gaming console, concurrently produces multiple content streams based on differing playlists. The mobile device includes a memory, a controller, and at least two output interfaces. The controller processes concurrently the content stored in the memory to produce a first content stream according to a first playlist and a second content stream according to a second playlist. More content streams may be produced based on additional playlist, all of which playlist differ from each other. The content streams may include audio content, video content, or a combination thereof. For each content stream, an output interface is available to convey the content stream. Also disclosed is a method of processing content to produce and send content streams to output interfaces.
Abstract: A flash memory system that uses repeated writing of the data to achieve stable storage, is adapted for efficient cache flushing operations by utilizing a part of the non-volatile flash memory array as a designated buffer for the data, in which data integrity is retained until all repeat writing thereof is complete. Repeated writing is carried out from the designated buffer directly to the final storage locations in the flash memory array, for example using simple internal copy back operations.
Abstract: 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.
December 26, 2007
Date of Patent:
November 15, 2016
SanDisk IL Ltd.
Alon Marcu, Alain Nochimowski, Micha Rave, Amir Lehr
Abstract: A data storage apparatus includes a primary storage device and a secondary storage device. The primary storage device includes a first non-volatile memory to store a content item. The secondary storage device includes a second non-volatile memory to store a command received from a first content appliance. The command indicates an operation to be performed with respect to the content item stored at the primary storage device. The secondary storage device is configured to send the command to a second content appliance for execution.
Abstract: A data storage device includes one or more non-volatile, blockwise erasable data storage media and a mechanism for sanitizing the media in response to a single external stimulus or in response to a predetermined physical or logical condition. Optionally, only part of the media is sanitized, at a granularity finer than the blocks of the medium. Setting a flag in an auxiliary nonvolatile memory enables an interrupted sanitize to be detected and restarted. Optionally, a “death certificate” verifying the sanitizing is issued. Preferably, the media are configured in a manner that allows atomic operations of the sanitizing to be effected in parallel.
December 24, 2014
Date of Patent:
October 18, 2016
SanDisk IL Ltd.
Rami Koren, Eran Leibinger, Nimrod Wiesz, Eugen Zilberman, Ofer Tzur, Sagiv Aharonoff, Moredechai Teicher
Abstract: Systems and methods of finalizing a semiconductor memory are disclosed. A method includes receiving an instruction to finalize data at a data storage device that includes a controller coupled to a semiconductor memory. The data storage device also includes a status indicator to indicate a finalize status of the semiconductor memory. In response to receiving the instruction to finalize the data at the data storage device, the status indicator is set to a finalize value. Write to the semiconductor memory operations are prevented by the controller in response to the status indicator having the finalize value.
Abstract: A method and system for optimizing flash memory without dedicated parity area and with reduced array size. The memory size of a multi level cell (MLC) flash is reduced and controller operation is simplified. Simplified operation includes the controller being able to program each host data page to an integer number of flash pages. A maximal available information bits per cell (IBPC) is maintained in a flash device while also maximizing the programming throughput of the flash. Features include the ability to dynamically select which number of cell states is used by flash memory cells.
Abstract: A memory device (e.g., a flash memory device) includes power efficient codeword error analysis circuitry. The circuitry analyzes codewords stored in the memory of the memory device to locate and correct errors in the codewords before the codewords are communicated to a host device that requests the codewords from the memory device. The circuitry includes a highly parallel configuration with reduced complexity (e.g., reduced gate count) that a controller may cause to perform the error analysis under most circumstances. The circuitry also includes an analysis section of greater complexity with a less parallel configuration that the controller may cause to perform the error analysis less frequently. Because the more complex analysis section runs less frequently, the error analysis circuitry may provide significant power consumption savings in comparison to prior designs for error analysis circuitry.
Abstract: A method of using a device, including monitoring host activity in an autonomous manner, without the host reporting to the device about its activity. The method also including initiating communications from the device and using resources of the host for such communications, thereby enabling the device to function as a proactive device.
Abstract: In one aspect, a method of transferring data over a plurality of communication lines is described. A first command is sent from a master device coupled with the communication lines to a first destination slave device coupled with the communication lines instructing the first destination slave device to listen to and write data from the communication lines starting at a first time. A second command is sent from the master device to a second source slave device coupled with the communication lines instructing the second source slave device to read and output first data onto the communication lines starting at or after the first time. In this way, the first data output from the second source slave device beginning at the first time is stored by the first destination slave device beginning at the first time without requiring first transferring the data to the master device or any other device.
Abstract: Methods and devices for simultaneously verifying or reading multiple states in non-volatile storage are disclosed. Methods and devices for efficiently reducing or eliminating cross-coupling effects in non-volatile storage are disclosed. Methods and devices for efficiently performing reads at a number of voltages to search for the threshold voltage of a memory cell are disclosed. Memory cells on different NAND strings that are read at the same time may be tested for different threshold voltage levels. Memory cells may be tested for different threshold voltages by applying different gate-to-source voltages to memory cells being tested for different threshold voltages. Memory cells may be tested for different threshold voltages by applying different drain to source voltages to the memory cells. Different amounts of compensation for cross-coupling affects may be applied to memory cells on different NAND strings that are read or programmed at the same time.
Abstract: A method and system for printing graphical content onto a plurality of memory devices and for providing a visually distinguishable memory device are provided. In one embodiment, graphical content to be printed onto a plurality of memory devices is identified. A graphical image is then created from the identified graphical content, wherein the graphical image comprises a plurality of sub-areas, wherein each sub-area contains graphical content and corresponds to at least one memory device of the plurality of memory devices. The graphical image is then printed onto the plurality of memory devices, wherein the plurality of memory devices are positioned to substantially correspond with positions of the plurality of sub-areas in the graphical image. Other embodiments are disclosed.
Abstract: An ASIC for implementing digital rights management includes a processor for requesting encrypted digital data from a server and decrypting the data, and a player for transforming the decrypted data to analog signals. Preferably, the ASIC is tamper-resistant. Preferably, all the management code of the ASIC is stored on a ROM in the ASIC. A device for receiving, decrypting and displaying encrypted digital data includes the ASIC, and also a transceiver for communicating with the server, a display mechanism for displaying the analog signals, and a nonvolatile memory for storing the encrypted data. A system for storing and displaying digital data includes both the server and the device. Preferably, the server is configured to send to the device only the encrypted digital data and associated decryption keys.