Inventors list

Assignees list

Classification tree browser

Top 100 Inventors

Top 100 Assignees


SANDISK IL LTD.

SANDISK IL LTD. Patent applications
Patent application numberTitlePublished
20120005404STATUS INDICATION WHEN A MAINTENANCE OPERATION IS TO BE PERFORMED AT A MEMORY DEVICE - Data storage devices and methods are disclosed that provide a status indication when a maintenance operation is to be performed prior to completion of a write command. A method includes receiving a write command from a host device to write data to the non-volatile memory while the data storage device is operatively coupled to the host device. In response to determining that a maintenance operation is to be performed prior to the completion of the write command, an indication is sent to the host device that the write command has a status of incomplete.01-05-2012
20110313730METHOD AND APPARATUS TO ADAPTIVELY RECORD DATA - A recording unit includes one or more signal sensors and a recording controller. The recording controller is configured to execute a first recording instruction to record first data received from the one or more signal sensors. The first data is recorded according to first recording rules that specify a first value of a parameter. The recording controller is also configured to, in response to an irregularity detected in the first data, execute a second recording instruction to record second data received from the one or more signal sensors. The second data is recorded according to second recording rules that specify a second value of the parameter, where the second value differs from the first value.12-22-2011
20110296088MEMORY 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
20110283051MOVING EXECUTABLE CODE FROM A FIRST REGION OF A NON-VOLATILE MEMORY TO A SECOND REGION OF THE NON-VOLATILE MEMORY - A data storage device includes a controller and a non-volatile memory coupled to the controller. The non-volatile memory includes executable boot code that is executable by a processor associated with the data storage device. The controller is configured to read a first portion of the executable boot code from a first region of the non-volatile memory, and in response to detecting a condition, move a second portion of the executable boot code in a second region of the non-volatile memory to a third region of the non-volatile memory.11-17-2011
20110258514OVERLAPPING ERROR CORRECTION OPERATIONS - Systems and methods of overlapping error correction operations are disclosed. A method at an encoder device includes receiving data bits to be encoded including a first bit, a second bit, and a third bit. A first encode operation to encode a first group of the data bits is initiated to generate a first codeword. The first group of the data bits includes the first bit and the second bit, but not the third bit. A second encode operation to encode a second group of the data bits is initiated to generate a second codeword. The second group of the data bits includes the second bit and the third bit, but not the first bit.10-20-2011
20110252288AUXILIARY PARITY BITS FOR DATA WRITTEN IN MULTI-LEVEL CELLS - Methods of writing data to and reading data from memory devices and systems for writing and reading data are disclosed. In a particular embodiment, a method includes writing data bits a first time into a memory. Auxiliary parity bits are written in the memory, where the auxiliary parity bits are computed based on the data bits. Subsequent to writing the data bits a first time and writing the auxiliary parity bits, the data bits are written a second time into the memory. Writing the data bits the first time and writing the data bits the second time are directed to one or more storage elements at a common physical address in the memory. Subsequent to writing the data bits the second time, the auxiliary parity bits are discarded while maintaining the data bits in the memory.10-13-2011
20110238507COMBINING USER CONTENT WITH SUPPLEMENTAL CONTENT AT A DATA STORAGE DEVICE - 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.09-29-2011
20110235410DEVICE AND METHOD TO READ DATA SUBJECT TO A DISTURB CONDITION - A storage device includes a plurality of memory elements and a controller. The controller is configured to receive measured characteristics of the memory elements. The measured characteristics correspond to a plurality of values including a first value stored at a first memory element of the plurality of memory elements and a second value stored at a second memory element of the plurality of memory elements. The controller is configured to test whether at least some of the plurality of values match a particular pattern correlated to a disturb condition at the first memory element. The controller is configured to provide a data value corresponding to the first memory element, where the data value is determined at least in part based on a result of the test.09-29-2011
20110228604PRELOADING DATA INTO A FLASH STORAGE DEVICE - Programmer's data is initially stored in a memory device of the storage device by using an MBC storage scheme. After the storage device is embedded in a host device, the programmer's data is internally read from the memory device by using conventional read reference voltages, and the number of erroneous data bits in the programmer's data is calculated. If the programmer's data includes an uncorrectable number of erroneous data bits, the programmer's data is iteratively reread by using unconventional read reference voltages with decreased levels. The iteration process, which includes decreasing the level of the read reference voltages and recalculating the number of erroneous data bits, is terminated when the number of erroneous data bits in the programmer's is less than or equals a predetermined number of erroneous data bits, after which the storage device restores the programmer's data and conventionally rewrites it into the memory device.09-22-2011
20110225365EMULATING A COMPUTER SYSTEM ON A REMOVABLE STORAGE DEVICE - A removable storage device with a processor and a non-volatile memory, and a method for using a removable storage device, are provided to emulate the computer system. The storage device stores in the non-volatile memory data it obtained from a first computer system, the data containing computer applications. When the storage device is removably connected to a second computer system and the second computer system is associated with a computer peripheral device, the processor in the storage device is instructed to emulate the original process environment of the first computer system.09-15-2011
20110208699DEVICE AND METHOD OF INTEGRATING FILE SYSTEMS - A device for integrating file systems includes a plurality of storage device interfaces. Each storage device interface is operatively coupleable to a corresponding storage device, and each storage device has a corresponding storage device file system. The device also includes a host interface and a hub configured for operatively connecting between the storage device interfaces and the host interface. The hub is operative to create a virtual file system that aggregates the storage device file systems. The virtual file system is configured to represent to a host, via the host interface, each file of a first group and to refrain from representing to the host each file of a second group, where the files are stored in one or more of the plurality of storage devices. Each file of the first group satisfies a first condition and each file of the second group fails to satisfy the first condition.08-25-2011
20110199823PRELOADING DATA INTO A FLASH STORAGE DEVICE - Programmer's data that is transferred from a programming device (08-18-2011
20110179143STORAGE SYSTEM SUPPORTING REPLACEMENT OF CONTENT IN A STORAGE DEVICE - 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.07-21-2011
20110134692ADAPTIVE DYNAMIC READING OF FLASH MEMORIES - A data storage device includes a controller and storage elements. The controller is configured to read a threshold voltage of each of a plurality of the storage elements to generate read threshold data and to assign reference voltages defining each of a plurality of voltage threshold states based on the read threshold data.06-09-2011
20110114738AUTOMATED CARD CUSTOMIZATION MACHINE - A memory card includes a non-volatile memory, a connector configured to enable the memory card to be operatively coupled to a host computer, and a housing enclosing the non-volatile memory. The housing has a customized physical contour that is determined according to a user-selected value.05-19-2011
20110107188SYSTEM AND METHOD OF DECODING DATA - A decoder is disclosed that can reduce power consumption at different stages of a decoding process. At a first stage where the decoder calculates residual values, the decoder can reduce power consumption by calculating residual values using less than a full set of division circuits. A reduced number of division circuits may be sufficient to successfully calculate residuals associated with the codeword to complete the decoding process. Division circuits that are not used may be disabled to reduce power consumption. At another stage of the decoding process where the decoder generates coefficients that are used to identify locations of errors in the codeword, the decoding process can limit power consumption by reducing the number of iterations of a polynomial generator by incorporating termination decision circuitry.05-05-2011
20110096603REVERSE ORDER PAGE WRITING IN FLASH MEMORIES - To store, in a memory block whose word lines are written successively in a word line writing order, a plurality of data pages that are ordered by logical page address, the pages are written to the word lines so that every page that is written to any one of the word lines has a higher logical page address than any page that is written to a subsequently written word line, regardless of the sequence in which the pages are received for writing. Alternatively, the pages are written to the word lines so that for every pair of written word lines, the word line of the pair that is earlier in the writing order has written thereto a page having a higher logical page address than at least one page written to the other word line of the pair.04-28-2011
20110093652MULTI-BIT-PER-CELL FLASH MEMORY DEVICE WITH NON-BIJECTIVE MAPPING - To store input data in a plurality of memory cells, a mapping function of bit sequences to physical parameter states of the cells is provided. The cells are programmed, in accordance with the mapping function, to store the input data, in a way that would store uniformly distributed data with a programming state distribution other than any native state distribution of the mapping function. To store input data in a single memory cell, a mapping function of bit sequences to states of a physical parameter of the cell, such that if uniformly distributed data were stored in a plurality of such memory cells then the states of the physical parameter of the cells would be distributed non-uniformly, is provided. The memory cell is programmed to store the input data in accordance with the mapping function.04-21-2011
20110087790METHODS AND SYSTEMS FOR COMMUNICATING WITH STORAGE SYSTEMS USING SLIM IP STACKS - Methods, and associated devices, media, and systems, for establishing a communication link between a host system and a storage device are provided. One method includes an operation for providing on the host a communication stack including a Transmission Control Protocol/Internet Protocol (TCP/IP) module and a host physical layer module. The storage device includes a storage command extractor, and the method includes another operation for establishing a communication channel between an application in the host and the storage device, where the communication channel uses the communication stack and the storage command extractor. In the method, the TCP/IP module converts TCP/IP commands received from the application in the host to storage commands for the storage device.04-14-2011
20110078341METHOD OF MONITORING HOST ACTIVITY - 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.03-31-2011
20110072185MULTI-PROTOCOL STORAGE DEVICE BRIDGE - A bridge includes a host interface via which data/commands are received from and transferred to a host, and a storage device interface via which data/commands are received from and transferred to a storage device. The bridge also includes one SDPC, a controller and a switching system that is configurable by the controller to connect the protocol converter to the host interface and the storage device interface if the storage device protocol used by the host device differs from the storage device protocol used by the storage device, and to connect the host device interface to the storage device interface, not via the bi-directional protocol converter, if the two storage device protocols are the same. The bridge may include two SDPCs, each for converting a different protocol to the host protocol and vice versa, with the switching system being configurable to switch between the two SDPCs. The bridge may omit the SDPC altogether, with the switching system being configurable to switch between connecting (1) the host device interface to the storage device interface, and (2) bypassing the storage device interface.03-24-2011
20110066902SYSTEM AND METHOD OF READING DATA USING A RELIABILITY MEASURE - In a particular embodiment, a data storage device includes a memory array including a target memory cell and one or more other memory cells. The data storage device also includes a controller coupled to the memory array. The controller is configured to directly compute a reliability measure for at least one bit stored in the target memory cell of the memory array based on a voltage value associated with the target memory cell and based on one or more corresponding voltage values associated with each of the one or more other memory cells of the memory array.03-17-2011
20110022666DEVICE IDENTIFIER SELECTION - Systems and methods of device identifier selection are disclosed. In a particular embodiment, a method includes, at a hub device having a plurality of ports including a first port, a second port, and a third port, receiving a first message from a host device. The first message including a broadcast indicator. The method also includes, in response to determining that the first message requests enumeration, emulating a ring communication topology by serially propagating messages including an enumeration indicator to a first device via the first port and to a second device via the second port. The method further includes, in response to determining that the first message does not request enumeration, selectively sending the first message to the first device substantially concurrently with sending the first message to the second device. Emulating the ring communication topology enables the hub device to provide a first distinctive identifier value of the first device and a second distinctive identifier value of the second device to the host device.01-27-2011
20110010497A STORAGE DEVICE RECEIVING COMMANDS AND DATA REGARDLESS OF A HOST - A storage device includes an input device for receiving data and commands directly from a user, without the storage device reporting to or notifying of the storage device activities that result from the received data and received commands. The user may visually-code the commands for the storage device, or s/he may transfer the commands to the storage device as voice commands or as vibration-induced commands. A command transferred by the user to the storage device specifies to the storage device a set of one or more digital contents that are (to be) stored in the storage device, and an operation that is to be performed on the set of one or more digital contents. A command may instruct the storage device to irreversibly caption a set of one or more digital photos by using a caption picture or caption data, or to associate a voice tag to these digital photos.01-13-2011
20100332956POLYNOMIAL DIVISION - Systems and methods to perform polynomial division are disclosed. In a particular embodiment, the method includes receiving a codeword and storing a portion of the received codeword at a register. The portion of the received codeword has a first number of terms. A divisor having a second number of terms is also received. During at least one stage of a multi-stage polynomial division operation using the portion of the codeword and the divisor, the portion of the received codeword to be divided by the divisor is adjusted based on a result of a comparison of the first number to the second number.12-30-2010
20100332729MEMORY OPERATIONS USING LOCATION-BASED PARAMETERS - Systems and methods of performing memory operations using location-based parameters are disclosed. A method includes identifying a first set of parameter values associated with a first physical block of a memory array. The first set of parameter values is identified based on a first physical location of the first physical block. A memory access operation is initiated with respect to the first physical block in accordance with the first set of parameter values.12-30-2010
20100332569STORAGE DEVICE WITH MULTIMEDIA INTERFACE CONNECTOR - Storage devices with multimedia interface connectors and methods are disclosed. In a particular embodiment, a data storage device includes a controller coupled to a memory, a streaming media capture circuit coupled to the controller, and a video playback circuit coupled to the controller. A multimedia interface connector is coupled to the streaming media capture circuit and further coupled to the video playback circuit. In response to detecting streaming multimedia data incoming from an external device via the multimedia interface connector, the incoming streaming multimedia data is provided to the streaming media capture circuit to generate multimedia file format data that is stored to the memory as a multimedia file.12-30-2010
20100311394MOBILE SYSTEM FOR PROVIDING PERSONALIZED INFORMATION - An information system includes a server that creates an information reservoir with data units for a user of a mobile communication device based on a unique user profile of the user of the mobile communication device. The server creates the unique user profile based on interaction of the user with the mobile communication device or with another computing system. The server transfers the information reservoir to the mobile communication device and each time the user requests data from a web site, the server scans it to find key terms. If the server finds key term(s) in the data, it uses a tagging rule to mark the key term(s) and, then, it transfers the data with the marked term(s) to the mobile communication device. The user may, then, select a marked key term to call/display a data unit that is locally stored on the mobile communication device. The server may also mark terms in data units and a data unit stored on the mobile communication device may be called using a key term that is marked in another data unit.12-09-2010
20100299456MANAGEMENT OF INTERNAL OPERATIONS BY A STORAGE DEVICE - A method of handling internal operations of a storage device includes in response to information derived from one or more commands received from a host device when the storage device is coupled to the host device, determining whether a sequence of commands is in one of an active state, and a first transition state, where in the first transition state the sequence of commands is transitioning from an inactive state to the active state. The method includes, while the sequence of commands is in the active state or in the first transition state, refraining from executing any operation of a first set of internal memory management operations, each of the first set of internal memory management operations being an extra-sequence operation.11-25-2010
20100275073METHOD AND DEVICE FOR BAD-BLOCK TESTING - Apparatus and methods for effecting bad-block testing operations are disclosed herein. In some embodiments, instead of effecting bad-block testing for the majority of the flash memory blocks of a flash memory device during manufacture, most or all bad-block testing is postponed until the end user is in possession of the flash memory device. In some embodiments, after user data is received by the flash memory device from a host device, one or more blocks of the flash memory device are subjected to bad-block testing.10-28-2010
20100274962METHOD AND APPARATUS FOR IMPLEMENTING A CACHING POLICY FOR NON-VOLATILE MEMORY - The present disclosure relates to methods, devices and computer-readable medium for implementing a caching policy and/or a cache flushing policy in a peripheral non-volatile storage device operatively coupled to a host device. In some embodiments, data is stored to a cache area of a non-volatile memory within the peripheral non-volatile storage device in accordance with a historical rate at which other data was received by the peripheral storage device from the host device and/or a historical average time interval between successive host write requests received and/or an assessed rate at which data is required to be written to the non-volatile memory and/or a detecting by the peripheral non-volatile memory device that the host has read the storage ready/busy flag. In some embodiments, data is copied from a cache storage area of the non-volatile memory to a main storage area in accordance with the historical rate and/or the historical average time interval.10-28-2010
20100262799METHOD AND APPARATUS FOR FACILITATING FAST WAKE-UP OF A NON-VOLATILE MEMORY SYSTEM - A method includes storing at a non-volatile memory in a data storage device a first copy of a memory management table. The method further includes storing, at the non-volatile memory, a list of data entries that identify unused blocks of the non-volatile memory, where the list defines an order of allocating the unused blocks. The method further includes, in response to detecting a power event, accessing an entry of the ordered list to identify a block, and selectively updating the first copy of the memory management table based on a status of the identified block.10-14-2010
20100262677DISTRIBUTED LOCAL WEB-SERVER ARCHITECTURE FOR STORAGE DEVICES - A method includes exchanging information between a local web-server of a local storage device and a remote web-server through a network. The exchange of the information is initiated autonomously by the local storage device upon a determination by the local web server that the information is not stored at the local storage device.10-14-2010
20100235473SYSTEM AND METHOD OF EMBEDDING SECOND CONTENT IN FIRST CONTENT - Apparatus and methods of aggregating content are disclosed. A method includes, at an aggregation server coupled to a communication network, receiving a first request to provide content to a mobile device via the communication network. The first request identifies a first network resource address. The method includes retrieving first content associated with the first request. The first content identifies second content to be embedded in the first content when the first content is displayed at a browser of the mobile device, and the second content is associated with a second network resource address. The method includes retrieving the second content prior to sending the first content to the mobile device. The method also includes sending the second content embedded in the first content to the mobile device.09-16-2010
20100235329SYSTEM AND METHOD OF EMBEDDING SECOND CONTENT IN FIRST CONTENT - Apparatus and methods of aggregating content are disclosed. A data storage device includes a host interface, a controller coupled to the host interface, and a memory array coupled to the controller. The host interface is configured to enable the data storage device to be operatively coupled to the host device. First content includes a reference to a source of second content to be embedded in the first content. The first content is retrievable via access to a resource. Upon retrieval, the reference is replaced by the second content such that the second content is embedded in the first content. The controller is configured to receive data of the resource, such received data including the second content embedded in the first content. The controller is also configured to store the received data at the memory array and, when the data storage device is operatively coupled to the host device, provide the second content embedded in the first content to the host device in response to receiving a request for the first content.09-16-2010
20100228802SYSTEM AND METHOD TO RESPOND TO A DATA FILE DELETION INSTRUCTION - Systems and methods responsive to a data file deletion instruction are disclosed. A method includes receiving an instruction to delete a data file. The data file is stored at a plurality of persistent memory cells of a memory. The memory also stores a directory that includes a first entry corresponding to the data file. In response to receiving the instruction to delete the data file, multiple attribute bits of the first entry are programmed and also a first bit of the first entry is programmed. The first bit of the first entry is distinct from the multiple attribute bits. Programming the multiple attribute bits converts the first entry from a first entry type to a second entry type. Programming the first bit of the first entry indicates that the first entry has an unused status.09-09-2010
20100217917SYSTEM AND METHOD OF FINALIZING SEMICONDUCTOR MEMORY - 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.08-26-2010
20100217910MEMORY CARD AND HOST DEVICE - An apparatus includes a first Universal Serial Bus (USB) connector and a card holder associated with the first USB connector. A controller including a USB host interface is coupled to the first USB connector. A housing enclosing the controller and at least partially enclosing the card holder has an opening that is dimensioned to enable insertion of a memory card into the card holder. The first USB connector is configured to connect to a second USB connector of the memory card when the memory card is inserted into the card holder.08-26-2010
20100216341MEMORY CARD AND HOST DEVICE - A data storage device includes a memory card structure having an edge connector portion. The edge connector portion has a thickness that complies with a memory card specification. The data storage device also includes an electrical connector portion of a Universal Serial Bus (USB) compatible receptacle or of an Institute of Electrical and Electronic Engineers (IEEE) 1394 compatible receptacle. The electrical connector portion is attached within the edge connector portion of the memory card structure to remain stationary with respect to the memory card structure.08-26-2010
20100211872USER-APPLICATION INTERFACE - A user interface apparatus includes a display device, display application, and processor. The display device includes a display area, and the display area includes an active area. The processor and display application are configured to display application stacks, each of which may be moved into and out of the active area in response to user input, and each of which contains one or more stack cards. Each application stack is associated with a computer application, and each stack card represents a content entity capable of being operated on by the computer application corresponding to its application stack. When an application stack is in the active area the application stack is activated such that its stack cards are displayed in sequence and at least one of them may be selected. Selecting a stack card causes the corresponding computer application to be executed and to operate on the corresponding content entity.08-19-2010
20100205350SYSTEM AND METHOD OF HOST REQUEST MAPPING - Systems and methods for reading data are disclosed. In a particular embodiment, a data storage device includes a host interface that is adapted to couple the data storage device to a host. The host includes memory that is addressable by a host memory address space. The data storage device also includes a device address space that is independent from the host memory address space. The device address space includes a first address region and a second address region, where the second address region is distinct from the first address region. The data storage device also includes a non-volatile memory array and a controller coupled to the non-volatile memory array and further coupled to a mapped device. The controller is adapted to, in response to a first request from the host for access to the first address region of the device address space, perform a memory access operation at the non-volatile memory array. The controller is also adapted to, in response to a second request from the host for access to the second address region of the device address space, map the second request to the mapped device.08-12-2010
20100195384SYSTEM AND METHOD TO READ DATA SUBJECT TO A DISTURB CONDITION - Systems and methods for reading data are disclosed. In a particular embodiment, a method includes measuring characteristics of a plurality of cells at a memory. The characteristics correspond to a plurality of values including a first value stored at a particular cell and a second value stored at a second cell of the memory. The method includes testing whether at least some of the plurality of values match a particular pattern correlated to a disturb condition at the particular cell, and providing a data value corresponding to the particular cell. The data value is determined at least in part based on a result of the testing.08-05-2010
20100191879HOST-PERIPHERAL ADAPTOR - A host-peripheral adaptor includes a host adaptor and a portable peripheral adaptor. The host adaptor includes a substantially flat peripheral-adaptor-side interface. The peripheral-adaptor-side interface is designed in a way that it is not easy to tamper with. The portable peripheral adaptor includes a host-adaptor-side interface that is designed to operatively connect to the peripheral-adaptor-side interface of the host adaptor. The portable peripheral adaptor also includes one or more peripheral-side interfaces for accommodating one or more peripheral devices such as a storage media. The portable peripheral adaptor and the host adaptor include a set of data lines and the host adaptor also includes circuitry for recognizing the specific type of a peripheral device and, based on its specific type, for setting a suitable communication path to transfer data between a host and the peripheral device.07-29-2010
20100169780STORAGE DEVICE MANAGING PLAYABLE CONTENT - Displaying storage device-generated menus for playback includes connecting a storage device to a host capable of playing back video content, and presenting to the host a root directory through which a content selection file allows selecting video files for playback through user-storage device interaction, and, optionally, one or more service files that provide various useful information that are also playable back through user-storage device interaction. This typically further includes displaying a Main Menu that represents these files and playing Main Menu items as regular video files/contents. While the content selection file is played back, a content selection menu is generated by the storage device and displayed by the host, and each content selection menu item is playable by transmitting a playback command to the storage device rather than to the host. A storage device is also provided, which uses such method.07-01-2010
20100169595STORAGE BACKUP - A storage system includes a secondary data store for backing up the primary data store, a deleted data store for retention of deleted data, and a data management application for managing the backing up of stored and deleted data of the primary data store. The deleted data store may be either separate from the secondary data store or implemented within the secondary data store. The data management application may automatically free up space for backup of data newly added to or deleted from the primary data store, by selectively removing data from the deleted data store, based application of appropriate criteria.07-01-2010
20100169395DEVICE AND METHOD FOR FILTERING A FILE SYSTEM - A host is provided with a filtered file system based on the native file system of a local storage device and other relevant factors. A filter interfaces with the local storage device and the host, and a controller reads the native file system, establishes access criteria for the host, and creates a logical structure of sectors in a volatile memory based on the access criteria to provide the filtered file system. The filter can also use a given host to read the native file system and to create the logical structure of sectors based on access criteria established for a different host.07-01-2010
20100169394METHOD AND APPARATUS FOR PROVIDING ACCESS TO FILES BASED ON USER IDENTITY - A storage device provides a file system to a host based on the access rights of a user determined during authentication. If the authentication does not succeed, the storage device provides to the user a file system restricted to files authorized by public access rights. If the authentication does succeed, and the user is a device owner, the storage device provides to the user the native file system. If the authentication succeeds, and the user is not a device owner, the storage device provides a file system that is restricted to files that the given user is authorized to access. Due to the internal nature of the mechanism for safeguarding files, this security measure cannot be circumvented by simply connecting the storage device to another host that does not respect the permission rules of the file system.07-01-2010
20100169393STORAGE DEVICE PRESENTING TO HOSTS ONLY FILES COMPATIBLE WITH A DEFINED HOST CAPABILITY - A method includes defining a host capability; creating for a storage device a second directory tree from a first directory tree of the storage device that is included in a file system within the storage device; and, for a data file that is stored in the storage device and is selectable for consumption by a host through the first directory tree that is included in the storage device's file system, determining whether the data file requires for consumption a host having the defined host capability. If the data file requires a host having the defined host capability, an entry is created in the second directory tree in which the data file is not selectable for consumption by the host. Otherwise, an entry is created in the second directory tree in which the data file is selectable for consumption by the host. Subsequent to connecting the storage device to a host if the host has the defined capability the first directory tree of the storage device is used to present a view of the file system of the storage device to the host, and if the host does not have the defined capability the second directory tree is used to present a modified view of the file system to the host in which a data file not requiring the defined capability would be selectable for consumption by the host and in which a data file requiring the defined capability would not be selectable for consumption by the host.07-01-2010
20100153673DATA ACCESS AT A STORAGE DEVICE USING CLUSTER INFORMATION - Systems and methods for accessing data at a data storage device are disclosed. In a particular embodiment, a method includes receiving cluster information at a controller of a data storage device, the data storage device further including a memory, the cluster information being associated with a data file that is stored at the memory. The method also includes accessing the cluster information to locate at least one region of the memory corresponding to the data file. The method further includes accessing data from the data file at the at least one region of the memory that is identified by the cluster information. Accessing of data from the data file includes the controller executing an internal application.06-17-2010
20100153474DISCARDABLE FILES - Files stored, or to be stored, in a storage device are marked either as non-discardable or as discardable in a file system structure associated with a storage device. Each discardable file has associated with it a discarding priority level. A publisher file is permitted to be stored in the storage device only if storing the publisher file does not narrow a storage usage safety margin that is reserved for user files. User files are allowed to be stored in the storage device even if storing them narrows the storage usage safety margin but, in such cases, the storage usage safety margin is restored by removing one or more discardable files from the storage device. A discardable file is removed from the storage device if its discarding priority level equals or is higher than a predetermined discarding threshold value.06-17-2010
20100147041TETHERING ARRANGEMENT FOR PORTABLE ELECTRONIC DEVICES - In a portable electronic device having an anti-theft functionality and a separate user-operable useful functionality, a method of using the portable electronic device includes operating the user-operable useful functionality; using the anti-theft functionality, wherein using the anti-theft functionality includes inserting an anchor into a socket of the portable electronic device, the anchor being connected to an object separate from the portable electronic device; locking the anchor in the socket to thereby secure the anchor to the portable electronic device; and unlocking the anchor from the socket upon verifying an unlock code that is received at the portable electronic device. The portable electronic device includes a locking mechanism switchable between a locked position in which the anchor is secured to the socket, and an unlocked position in which the anchor is not locked in the socket. The portable electronic device has a processor that is adapted to execute the user-operable useful functionality, receive an unlock code, and to transition the locking mechanism into the unlock position upon verifying the received unlock code.06-17-2010
20100138580MEMORY CARD ADAPTER - A card adapter includes a plurality of memory card interfaces for interfacing with a plurality of memory cards, each of the memory cards having its own file system, and a host interface for interfacing a host of the memory cards. A controller of the card adapter interfaces with the plurality of memory card interfaces and with the host interface and controls operation of the memory cards. The card adapter may have several modes of operation, one of which involves emulating, on the host, by the controller, a virtual file system that represents a unified image of the file systems of two or more memory cards. In another mode of operation of the card adapter the controller establishes presents to the host only one file system of a memory card.06-03-2010
20100131697METHODS FOR TAG-GROUPING OF BLOCKS IN STORAGE DEVICES - Embodiments described herein disclose methods, devices, and media for storing data. Methods including the steps of: receiving data to be stored in a memory that includes at least three blocks, wherein each block, for storing the data, has at least one metadata value, associated with each block, that is dependent upon a writing time of each block; grouping at least three blocks into at least two block groups, wherein at least one block group contains at least two blocks; associating a respective metadata value with each block group; and associating the respective metadata value of a respective block group with each block storing the data contained in the respective block group, without storing a dedicated copy of at least one metadata value for each block. In some embodiments, at least one metadata value is stored in a block-group table.05-27-2010
20100127835METHOD AND APPARATUS FOR SELECTIVELY FACILITATING ACCESS TO RFID DATA - Methods and apparatus for selectively facilitating access to RFID data of one more RFID tags within a faraday cage are disclosed herein. In some embodiments, (i) an external RFID interrogation signal is received (for example, by one more external antennae deployed outside of the faraday cage; (ii) a determination is made if access to RFID data of one more RFID tags within the faraday cage is permitted; and (iii) contingent on the determining that access from outside of the faraday cage is permitted, access is provided to RFID data of one or more RFID tag(s) within the faraday cage. This access providing may include the steps of: i) in response to the received external RFID interrogation signal, interrogating inside the faraday the cage one or more RFID tags; ii) receiving an RFID response from one or more of the interrogated RFID tags; and iii) transmitting to outside the faraday cage the received RFID response.05-27-2010
20100122054COPY SAFE STORAGE - A data storage device provides information to an application while protecting the information from being copied. Particularly, the data storage device may include a detector to detect an access to an indicator. The indictor may be integrated with the information in such a way that a copy application will access the indicator when copying the information but another application using the information (e.g. a database application) will not access the indicator. The data storage device may further be configured to undertake a defensive response when access to the indicator is detected. Defensive responses may include terminating the access, issuing a report, or sending spurious data to the host. The configuration of the indicator and timing of the response may be chosen to impede separation of the indicator from the data.05-13-2010
20100115177DATA STORAGE DEVICES - A data storage device includes a non-volatile memory array, a user input device, and a host interface adapted to connect the data storage device to a host device and convey data to the host device. In response to a first operation of the user input device, application configuration data is communicated from the data storage device to the host device. The application configuration data is configured to trigger execution by the host device of a configuration application that includes a listing of a plurality of applications for display by the host device allowing a user to identify a selected application. In response to selection of an application, application designation data is generated and stored in the non-volatile memory array. In response to a second operation of the user input device, the application designation data is communicated to the host device to trigger automatic execution by the host device of the selected application.05-06-2010
20100106890METHOD AND APPARATUS FOR ENFORCING A FLASH MEMORY CACHING POLICY - Methods, apparatus and computer medium for enforcing one or more cache management policies are disclosed herein. In some embodiments, a flash memory of a storage device includes a plurality of flash memory dies each flash memory die including a respective cache storage area and a respective main storage area. A determination is made, for data that is received from an external host device to which main storage area the received data is addressed thereby specifying one of the plurality of flash memory dies as a target die for the received data. Whenever the received data is written into a cache storage area before being written into a main storage area, the received data is written into the cache storage area of the specified target die.04-29-2010
20100106886Transparent 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
20100090834WEARABLE DEVICE FOR ADAPTIVELY RECORDING SIGNALS - A condition of a subject is monitored by a wearable recording unit that adaptively records various signals associated with the condition of the subject. The various signals are recorded by the wearable recording unit using a recording plan that is contextually adaptively updated to the monitored subject from one recording session to another based on the result of the analysis of previous recording sessions.04-15-2010
20100057992PORTABLE STORAGE DEVICE WITH AN ACCELERATED ACCESS SPEED - A storage device has two connectors for transferring data files: a first connector through which data files can be transferred at an accelerated speed, and a second connector through which data files can be transferred at a conventional speed. According to the present disclosure a user can select the speed (i.e., “normal speed” or “accelerated speed”) at which s/he wants to transfer a data file from a host to the storage device, and vice versa, by connecting the host to the proper connector of the storage device. The first connector is internally connected to a plurality of controllers that facilitate data transfers at the accelerated speed, and the second connector is internally connected to a controller that facilitates data transfers at the normal speed.03-04-2010
20100049913MANAGING 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
20100036998STORAGE SYSTEM AND METHOD FOR MANAGING A PLURALITY OF STORAGE DEVICES - A method of managing operation of a plurality of storage devices includes receiving current consumption information from at least one of the plurality of storage devices; and managing operation of at least one storage device, the operation management including permitting current consumption of a first one of the storage devices based on current consumption information that pertains to at least a second one of the storage devices. Also provided is a storage system that includes a plurality of storage devices, where each storage devices is configured to store data. A state machine, connected to each of the storage devices, is operative to permit current consumption of a first storage device based on current consumption information pertaining to at least a second storage device.02-11-2010
20100034042POWER CONSUMPTION-ORIENTED MANAGEMENT OF A STORAGE SYSTEM - A method of managing operation of a plurality of devices that includes receiving operational information that pertains to each of a plurality of device and managing operation of at least one of the plurality of devices. Each of the plurality of devices is configured to perform operations, the operations including sub-operations. The operation management includes associating parameters for a given sub-operation of a device based on 1) operational information pertaining to at least one of the plurality of devices and on 2) a maximum allowable current consumption level. Also provided is a system that includes a plurality of devices and a controller that is operationally connected to each of the plurality of devices for setting values for parameters of a device for a given sub-operation based on 1) operational information pertaining to at least one of the devices and on 2) a maximum allowable current consumption level of the system.02-11-2010
20100030982BACKING UP DIGITAL CONTENT THAT IS STORED IN A SECURED STORAGE DEVICE - A third party facilitates preparation of a backup SSD for backing up a source SSD. Digital data of the source SSD, which includes protected and sensitive data and information, is copied to the backup SSD either by and via the third party or directly from the source SSD but under supervision of the third party. The digital data of the source SSD is copied to the backup SSD under stringent rules and only if each party (i.e., the source SSD, destination SSD, and third party) proves to a counterpart device with which it operates that it is authorized to send to it digital data or to receive therefrom digital data, depending on the device with which that party operates.02-04-2010
20100030963MANAGING 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
20100030929DEVICE FOR CONNECTION WITH A STORAGE DEVICE AND A HOST - A dual-interface connector for providing an interface to a storage device and an interface to a host and for connecting between a storage device and a host includes a storage device interface, for connecting with a storage device, and a host interface, for connecting with a host. A controller is operable in at least two distinct modes of operation. In a first mode of operation, the controller enables a session to be opened, by the host, between the storage device and the host when the storage device is connected to the storage device interface and the host is connected to the host interface. In a second mode of operation, the controller is operative, if an open session exists between the storage device and the host, to maintain the open session between the storage device and the host even after the storage device is disconnected from the storage device interface.02-04-2010
20100023718Methods For Data-Smuggling - The present invention discloses methods for an application, running on a host system, to access a restricted area of a storage device, the method including the steps of: providing a file system for running on the host system; restricting access, by the file system, to the restricted area; sending an indication, from the application to the storage device, that data being sent by the application to the storage device via the file system is intended for the restricted area; detecting the indication in the storage device; and making the data, residing in the restricted area, available for reading by the application upon receiving an application request. Preferably, the method further includes the step of: releasing wasted areas, of the storage device, for use by the file system. Preferably, the method further includes the step of: copying non-restricted data from a non-restricted area into the restricted area.01-28-2010
20100017809METHODS FOR ENABLING SOFTWARE IN STORAGE-CAPABLE DEVICES - Methods for enabling software from a storage-capable device including the steps of: loading, by a host system operationally connected to the storage-capable device, software from an authenticatable storage area residing in the storage-capable device; validating the software; and installing the validated software, wherein the validated software provides an interface between the host system and the storage-capable device. In some embodiments, the software is enabling software, the method further including the step of: loading, by the host system, device-functionality software from the authenticatable storage area. In some embodiments, the method further includes the steps of: validating the device-functionality software; and enabling the validated device-functionality software. In some embodiments, the method further includes the steps of: prior to the step of loading the software, executing a probe command in the host system; and returning, by the probe command, a list of device functional units residing in the storage-capable device.01-21-2010
20100011351DYNAMIC FILE SYSTEM RESTRICTION FOR PORTABLE STORAGE DEVICES - A method of installing an application on a portable storage device is disclosed. The method includes receiving file system commands issued by an installer application and selectively intercepting and modifying at least one file system command before the at least one file system command is executed with respect to a destination file system. The method restricts access to a first file system located at a fixed storage memory device and directs access to a second file system located on the portable storage device.01-14-2010
20100011163PORTABLE DEVICE FOR MANAGING MEMORY CARDS - A portable device includes n (n≧2) electrical sockets, each of which is configured to accommodate and to electrically engage a removable external memory card; an input device for selecting accommodated and electrically engaged external memory cards for data reading; and an output device for outputting information that is derived from or related to data read from such selected electrically engaged external memory cards. The information may pertain to digital content of the selected external memory card, to the identity of the selected external memory card, or to the storage capacity of the selected external memory card.01-14-2010
20090327529DATA STORAGE DEVICE WITH MULTIPLE PROTOCOLS FOR PRELOADING DATA - A system uses multiple communication modes for fast uploading of a datum preloaded from a manufacturing device to a data storage device over existing external contacts of the data storage device. Preferentially the data storage device is a high capacity SIM card and a user mode allows communication by standard protocols such as ISO, SD/MMC and USB whereas a manufacturer mode applies a multi data line SD/MMC protocol or a custom protocol for high speed data uploading.12-31-2009
20090327528DATA STORAGE METHOD WITH MULTIPLE PROTOCOLS FOR PRELOADING DATA - A method uses multiple communication modes for fast uploading of a datum preloaded from a manufacturing device to a data storage device over existing external contacts of the data storage device. Preferentially the data storage device is a high capacity SIM card and a user mode allows communication by standard protocols such as ISO, SD/MMC and USB whereas a manufacturer mode applies a multi data line SD/MMC protocol or a custom protocol for high speed data uploading.12-31-2009
20090319872FAST, LOW-POWER READING OF DATA IN A FLASH MEMORY - A memory includes cells at intersections of word lines and bit lines, word and bit line selection mechanisms and a programming mechanism. The cells on each bit line are connected in series. Cells of a word line are programmed simultaneously. For low-power reading, only some of the bit lines that intersect the word line at the programmed cells are selected and only the cells at those intersections are sensed. Another type of memory includes a physical page of cells, a sensing mechanism and a selection mechanism. Hard bits are sensed from all the cells of the physical page. Only some of those cells are selected for sensing soft bits. Another memory includes a plurality of cells, a sensing mechanism, an export mechanism and a selection mechanism. Hard and soft bits are sensed from all the cells of the plurality. Only some of the soft bits are selected for export.12-24-2009
20090319859METHOD AND APPARATUS FOR ERROR CORRECTION ACCORDING TO ERASE COUNTS OF A SOLID-STATE MEMORY - Embodiments of the present invention relate to methods and devices where an erase count is maintained for at least one block of solid state memory. Errors are corrected in data read from the solid state memory in accordance with the associated erase count of the memory block. In some embodiments, one or more of the following error-correction operations may be effected according to the associated erase count of a memory block from which the data is read: (i) a decoder and/or decoder mode is selected; (ii) a decision to attempt correcting errors using a lighter-weight weight decoder (mode) and/or heavier weight decoder (mode) and/or faster decoder (mode) and/or slower decoder (mode) is made; (iii) a mode transition and/or error correction attempt resource budget is determined; (iv) a number of soft bits is determined; and (v) a decoding bus width size is selected.12-24-2009
20090319843METHOD AND APPARATUS FOR ERROR CORRECTION - Methods, apparatus and computer readable medium for handling error correction in a memory are disclosed. In some embodiments, after an attempt is made to write original data to a ‘target’ memory, data is read back from the target memory in a ‘first read operation’, thereby generating first read data. After the first read operation, the first read data is compared to the original data and/or an indication of a difference between the original data and the first data is determined. The information obtained by effecting the data-comparison and/or information related to the difference indication is used when correcting errors in data read back from the target memory in a ‘second read operation.’. The presently-disclosed teachings are applicable to any kind of memory including (i) non-volatile memories such as flash memory, magnetic memory and optical storage and (ii) volatile memory such as SRAM or DRAM.12-24-2009
20090319722AD HOC FLASH MEMORY REFERENCE CELLS - In a nonvolatile memory, that includes cells organized in a plurality of bit lines and a plurality of word lines, user data are stored in respective portions of each of two of the word lines. Control information is stored in a cell that is common to one of the bit lines and one of the two word lines. A cell that is common to the bit line and the other word line is used as a reference cell. A flash memory, that includes a plurality of primary cells and a plurality of spare cells, is interrogated to determine which spare cells have been used to replace respective primary cells. At least some of the other spare cells are used as reference cells.12-24-2009
20090310413REVERSE ORDER PAGE WRITING IN FLASH MEMORIES - To store, in a memory block whose word lines are written successively in a word line writing order, a plurality of data pages that are ordered by logical page address, the pages are written to the word lines so that every page that is written to any one of the word lines has a higher logical page address than any page that is written to a subsequently written word line, regardless of the sequence in which the pages are received for writing. Alternatively, the pages are written to the word lines so that for every pair of written word lines, the word line of the pair that is earlier in the writing order has written thereto a page having a higher logical page address than at least one page written to the other word line of the pair.12-17-2009
20090307452STORAGE DEVICE HAVING AN ANTI-MALWARE PROTECTION - A storage device is protected, when interfaced with a host device, by operating a security processor of the storage device in a “security” mode in which the security processor filters commands that are received from the host device and are targeted to the storage controller, and upon determining by the security processor that the “security” mode is no longer required, by operating the security processor in a “safe” mode in which the security processor (i) does not filter commands it receives from the host device and (ii) forwards to a storage controller of the storage device such unfiltered commands.12-10-2009
20090300227METHOD OF MONITORING HOST ACTIVITY - 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.12-03-2009
20090276562Flash cache flushing method and system - 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.11-05-2009
20090265598USING PROGRAMMING-TIME INFORMATION TO SUPPORT ERROR CORRECTION - Methods, apparatus and computer readable medium for handling error correction in a memory are disclosed. In some embodiments, first data is written to the memory, and a value(s) of an operational parameter(s) that is a consequence of the writing of the first data is determined. Second data is read from the memory, and the value(s) of the operational parameter(s) may be used when correcting errors in the second data. In some embodiments, the first data is the same as the second data. The presently-disclosed teachings are applicable to any kind of memory including (i) non-volatile memories such as flash memory, magnetic memory and optical storage and (ii) volatile memory such as SRAM or DRAM.10-22-2009
20090259808Methods of Sanitizing a Flash-Based Data Storage Device - 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.10-15-2009
20090259797METHOD, APPARATUS AND COMPUTER READABLE MEDIUM FOR STORING DATA ON A FLASH DEVICE USING MULTIPLE WRITING MODES - Methods, apparatus and computer readable medium for writing data into a flash memory device are disclosed. In some embodiments, the data is written in a writing mode selected in accordance with an extent to which the flash memory storage device or a flash die thereof is full of previously-stored data. The presently disclosed techniques may be implemented on the “device-side” (for example, by a device controller of the flash device) and/or on the “host-side.” In some embodiments, the selected writing mode is a bits-per-cell density mode. In some embodiments, the selected writing mode is a “slower” or “faster” writing mode. The presently disclosed techniques relate to SBC as well as MBC devices.10-15-2009
20090259785DIRECT DATA TRANSFER BETWEEN SLAVE DEVICES - 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.10-15-2009
20090259784PERIPHERAL DEVICE LOCKING MECHANISM - A computing system having a host device and at least one client device having a lock used to prevent modification of data in the client device. A lock clear signal from the host device causes the client device to clear a lock used to prevent modification of data stored in at least a protected portion of the client device where the client device remains fully operational.10-15-2009
20090205384ELECTROMECHANICAL LOCKING SYSTEM - An electromechanical locking system includes a locking mechanism that is switchable between a locked position and an unlocked position, a keyway for receiving a rotatable key, a latch, and an angle detector for detecting an angular orientation of the key while the key is in the keyway. After detecting a sequence of angular orientations of a key, the angle detector may issue a corresponding angle sequence data. A lock controller controls the latch in accordance with an authentication data that has been received from the key and the issued angle sequence data that reflects a combination code. If the authentication data and the angle sequence data are both valid, the lock controller enable operation of the latch, whether automatically or manually. The key includes a light source that projects a light beam at an acute angle in order to provide a visual indication of a current angular orientation of the key.08-20-2009
20090198869ERASE COUNT RECOVERY - An erase count of a flash memory block which is lost, e.g., due to power failure is updated or replaced by using known erase counts of other blocks of the flash memory. A flash management algorithm assigns a new erase count value instead of the lost one based on either a maximum value, an average value or a value combining the maximum value of the known erase counts and some tolerance value. The known values may be obtained from wear leveling data or from a stored erase history.08-06-2009
20090191918GENERIC IDENTITY MODULE FOR TELECOMMUNICATION SERVICES - An identity module includes a memory and a processor. In the memory are stored installation code for installing in the memory a provider profile that associates the identity module with a communication services provider and communication code that, in combination with the provider profile, supports communication by a host of the identity module using services of the communication services provider. The processor executes the installation code to install the provider profile and then executes the communication code in support of the communication. Preferably, no portion of any such communication suite is stored initially in the identity module. The host requests the provider profile from a server that includes a communication interface for communicating with the host, a memory wherein is stored code for providing to the host a customization suite that includes substantially all of the provider profile, and a processor for executing the code.07-30-2009
20090191916GENERIC IDENTITY MODULE FOR TELECOMMUNICATION SERVICES - An identity module includes a memory and a processor. In the memory are stored installation code for installing in the memory a customization suite that associates the identity module with a communication services provider and communication code that, in combination with the customization suite, supports communication by a host of the identity module using services of the communication services provider. The processor executes the installation code to install the customization suite and then executes the communication code in support of the communication. Preferably, no portion of any such communication suite is stored initially in the identity module. The host requests the customization suite from a server that includes a communication interface for communicating with the host, a memory wherein is stored code for providing substantially the entire customization suite to the host, and a processor for executing the code.07-30-2009
20090191843METHOD OF RECRUITING A NEW SUBSCRIBER TO A COMMUNICATION SERVICES PROVIDER - To recruit a new subscriber to a communication services provider, when a request is received, from a host of an identity module that lacks any portion of a provider profile that associates the identity module with a communication services provider, to provide a customization suite for installing substantially all of the provider profile in the identity module, terms of usage are proposed to the host. If the host consents to the terms of usage, the customization suite is sent to the host.07-30-2009
20090177848METHODS AND SYSTEMS FOR CLASSIFYING STORAGE SYSTEMS USING FIXED STATIC-IP ADDRESSES - A storage system for exchanging data with a host system, the storage system including a plurality of storage devices, each of the storage devices including: a non-volatile memory, wherein a fixed static-IP address resides in the non-volatile memory, the fixed static-IP address being common to two or more of the plurality of storage devices, and the fixed static-IP address providing enablement of a storage-device functionality of the storage device; a physical interface for operationally connecting the storage device with the host system; and a memory controller for: controlling the respective non-volatile memory; and exchanging data, using a communication protocol, via the respective fixed static-IP address. For at least one of the storage devices, the respective fixed static-IP address may be pre-loaded into the respective non-volatile memory during manufacture, or installed in the respective non-volatile memory after manufacture.07-09-2009
20090177781METHODS AND SYSTEMS FOR COMMUNICATING WITH STORAGE SYSTEMS USING SLIM IP STACKS - Methods, and associated devices, media, and systems, for establishing a communication link between a host system and a storage device are provided. Such a method includes the steps of: providing a communication stack having only an application layer and a physical layer; and establishing a communication channel between a host system and the storage device using the communication stack. The step of establishing may be performed via a TCP/IP emulator in a host-system side and a storage-command interpreter in a storage-device side. The method may further include: establishing a communication channel between the host system and a device having a static-IP address; and establishing a communication channel between the host system and a device having a storage identifier that is embedded into one of command parameters sent by the application layer or the physical layer to the TCP/IP emulator.07-09-2009
20090175132INITIATING PLAYING OF DATA USING AN ALARM CLOCK - An alarm clock device includes a monitor for monitoring a transmission of a selected station, a detector for detecting, in the transmission of the selected station, at least one milestone. A controller operating in response to detection of the milestone is provided to store, in a memory, data of the transmission after the milestone was detected, and to initiate playing of the data at a selected wakeup time. According to the present invention, the data is recorded in response to detecting a transmission of a selected station selected from a plurality of stations.07-09-2009
20090172694CACHE MANAGEMENT - A number of applications can be run by the computing system. Such applications can execute independently from each other and can also each independently manage a corresponding set of content stored on the LSD. One of the advantages presented by the invention is the ability of the LSD to inform one application of the content made available on the LSD by another one of the applications even though the applications have no relationship to each other. In this way, a synergy between the independent applications can be achieved providing a co-operative environment that can result in, for example, improved operation of the computing system, improved resource (i.e., memory, bandwidth, processing) allocation and use, and other factors.07-02-2009
20090172400DIGITAL CONTENT DISTRIBUTION AND CONSUMPTION - Digital content distribution and consumption that provides the advantages of digital content being locally stored under user control while concurrently having the widest acceptance by legacy players/platforms (i.e., no need to perform complex software integration) while still remaining compatible with state of the art security in order to satisfy content provider requirements.07-02-2009
20090172333STORAGE 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
20090172307STORAGE DEVICE WITH TRANSACTION INDEXING CAPABILITY - In one aspect, a system for indexing transactions over a plurality of communication lines is described. In various embodiments, the system includes a host controller and a plurality of storage devices in communication with one another. Each of the storage devices is configured to store data. The communication lines facilitate communications between the host controller and the plurality of storage devices. A selected one of the storage devices is configured to function as a transaction indexer to monitor the communication lines and index and store selected transaction information associated with operations that occur over the communication lines. While the host controller may be arranged to configure the transaction indexer, the transaction monitoring, indexing and storing are performed substantially automatically by the transaction indexer without requiring further instructions from the host controller.07-02-2009
20090172276STORAGE 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
20090172275DATA USAGE PROFILING BY LOCAL STORAGE DEVICE - 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.07-02-2009
20090172274STORAGE DEVICE HAVING DIRECT USER ACCESS - Various methods, devices and systems are described for providing distributed storage services. A data storage device is capable of initiating a communication session with an external entity such as a local host computer (and vice versa) coupled directly to the data storage device, a remote server computer, or directly with remote data storage devices with or without intervention by a local host computer.07-02-2009
20090172247CONTROLLER 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
20090172246DEVICE AND METHOD FOR MANAGING INITIALIZATION THEREOF - A host may initialize itself faster by enabling an associated storage device to respond to host access commands under specified conditions before the storage device has completed its own initialization. Embodiments of the invention include a storage device, a controller, a method of servicing commands, and a method of using a host that sends access commands to a storage device. Access commands to a flash memory use logical addresses to reference the memory contents. A controller translates the logical addresses to physical addresses using a mapping table that the controller constructs in volatile memory during initialization based on data retrieved from the flash memory. An access command satisfying a predefined condition is serviced before the controller completes the construction of the mapping table.07-02-2009
20090172219DEVICE AND METHOD FOR AUTOMATICALLY LAUNCHING APPLICATIONS RESIDING ON USB FLASH DRIVES - A USB peripheral device may automatically launch an application residing in its memory after it is connected to a host or after restarting the host if the USB flash drive has already been connected. Alternatively, the USB peripheral \device can automatically launch an application residing on the host or on a network, which is accessible by the host. The USB peripheral device has a USB interface and a controller, which is operative to execute instructions for sending and receiving messages through the USB interface. The controller is further operative, when executing the instructions, to send to a host a stream of emulated keystrokes, which emulated keystrokes cause the host to generate and execute a startup script. Embodiments of the invention include a USB peripheral device able to control a host and a method of using a USB peripheral device to control a host.07-02-2009
20090172217DISTRIBUTED STORAGE SERVICE SYSTEMS AND ARCHITECTURE - Various methods, devices and systems are described for providing distributed storage services. A data storage device is capable of initiating a communication session with an external entity such as a local host computer (and vice versa) coupled directly to the data storage device, a remote server computer, or directly with remote data storage devices with or without intervention by a local host computer.07-02-2009
20090172211STORAGE DEVICE WITH TRANSACTION LOGGING CAPABILITY - In one aspect, a system for indexing transactions over a shared bus is described. In various embodiments, the system includes a host controller and a plurality of storage devices in communication with the bus. Each of the storage devices is configured to store data. The bus facilitates communications between the host controller and the plurality of storage devices. A selected one of the storage devices is configured to function as a transaction indexer to monitor the bus and index and store selected transaction information associated with operations that occur over the bus. While the host controller may be arranged to configure the transaction indexer, the transaction monitoring, indexing and storing are performed substantially automatically by the transaction indexer without requiring further instructions from the host controller.07-02-2009
20090172050DUAL REPRESENTATION OF STORED DIGITAL CONTENT - Various methods, devices and systems are described for providing dual representation of stored digital content are described where the dual representation includes logical block data and corresponding data objects. Data object property information is synchronized with the data objects.07-02-2009
20090172049DEVICE AND METHOD FOR INTEGRATING FILE SYSTEMS - The present invention enables a user to increase storage capacity for a host by using multiple storage devices. File systems are virtualized regardless of any difference in file system format. The invention may be embodied as a device for integrating file systems or as a method of integrating file systems. The device has one or more storage device interfaces for storage devices, a host interface, and a hub connected to the interfaces. The hub creates a virtual file system that aggregates the storage device file systems of storage devices that are connected to the storage device interfaces. The method of integrating file systems includes reading file systems, interpreting them, creating a logical structure containing data of the file systems, and generating in a memory sectors that map the logical structure into a virtual file system.07-02-2009
20090172040FILE SYSTEM THAT MANAGES FILES ACCORDING TO CONTENT - A method of managing a plurality of files according to their respective instances of a property of the files, a data processing device that uses the method, and a computer readable storage medium bearing code for implementing the method. The files of at least one of the instances are managed according to a management protocol respective to that/those instance(s). Preferably, all the other files are managed according to a common default management protocol. Different protocols trade off performance vs. ruggedness, trade off average performance vs. latency, or include different defragmentation policies.07-02-2009
20090171528APPARATUS AND PROCESS FOR RECORDING DATA ASSOCIATED WITH A VEHICLE - The present system for recording vehicle-related data does not involve an elaborate installation procedure and thus may be routinely transferred from one vehicle to the next. The system has a recording module and at least on sensor module. The recording module has a wireless receiver, a processor, a vehicle interface assembly, and a data processor interface. The vehicle interface assembly enables the recording module to detachably connect to the vehicle. The sensor modules have a sensor, a processing subsystem, and a wireless transmitter. The wireless transmitter of a sensor module communicates with the wireless receiver of the recording module. Also disclosed is a method of recording vehicle related data.07-02-2009
20090164804SECURED STORAGE DEVICE - A method of preventing unauthorized access to digital content includes obtaining from a trusted entity a public key of a public-private key pair, encrypting content being received by a storage device using the public key, and storing the encrypted content on the storage device. The public-private key pair includes the public key and a corresponding private key. The content is encrypted on the storage device using the public key so as to be decipherable using a corresponding private key. Access to the corresponding private key is restricted to the trusted entity alone and encrypted content may be decipherable by the trusted entity, only after an indication of authorization for use of the corresponding private key is provided to the trusted entity. Also provided is a method of controlling access to encrypted content that is stored on a storage device operating as a secure storage device.06-25-2009
20090164746METHODS AND DEVICES FOR EXPANDABLE STORAGE - Embodiments described herein disclose methods and devices for expanding the storage capacity in a storage device, including the steps of creating at least one partition in a storage memory of the storage device; designating a reserved-storage area and an enabled-storage area in at least one partition; storing a partition size in a FAT of the storage memory; and upon authorization, increasing the partition size to include sectors in the reserved-storage area, thereby expanding the storage capacity in a storage device. Preferably, the reserved-storage area is not accessible by a host system. Preferably, the partition size is determined from a partition range stored in a master boot record in the storage memory. Most preferably, the partition range is determined from an enabled capacity stored in a memory-management area in the storage memory, and wherein the memory-management area is not accessible by a host system.06-25-2009
20090150747CORRECTION OF ERRORS IN A MEMORY ARRAY - A computer system for correction of errors in a memory array includes an error correction algorithm and a memory. The error correction algorithm is capable of correcting errors up to a first bit error rate in a correctable group of memory cells having a standard size. The memory is operative to store a first set of ECC bits having information corresponding to a first group of memory cells having a first size larger than the standard size, and to store a second set of ECC bits having information corresponding to a second group of memory cells having a second size smaller than said first size and being a portion of said first group. The error correction algorithm is operative to correct errors in the second group based on the second set of ECC bits if a failure occurs in correction of the first group based on the first set of ECC bits.06-11-2009
20090150703SYSTEM AND METHOD FOR NOTIFYING A HOST OF A SERVICE REQUIRED BY A SLAVE STORAGE DEVICE - A host device includes an electrical activity monitoring (EAM) module that is configured to monitor the electrical activity of a slave storage device interfaced with the host device. Responsive to the value of, or change in, the electric current fed to the slave storage device being at or near a certain level, or within a predetermined range, the EAM module notifies the host device that the slave storage device has pending service request(s) or information for the host device.06-11-2009
20090119782METHOD AND DEVICE FOR DIGITAL RIGHTS PROTECTION - Data stored in a memory are provided to a host by monitoring how the host accesses the data, and by responding to a deviation of the access from a dynamic access profile that corresponds to the data, e.g. by terminating the access, by issuing a report of the deviation, or by sending spurious data to the host. Preferably, the dynamic access profile is stored in the memory in association with the data. A data storage device includes a memory for storing the data and an access control mechanism.05-07-2009
20090113219OPTIMIZED HIERARCHICAL INTEGRITY PROTECTION FOR STORED DATA - A method for data integrity protection includes receiving items of data for storage in a storage medium. The items are grouped into multiple groups, such that at least some of the groups include respective pluralities of the items. A respective group signature is computed over each of the groups, thereby generating multiple group signatures. An upper-level signature is computed over the group signatures. Groups of the items, the group signatures, and the upper-level signature are stored in respective locations in the storage medium.04-30-2009
20090113218SECURE DATA PROCESSING FOR UNALIGNED DATA - A method for data cryptography includes accepting input data, which contains a section that is to undergo a cryptographic operation and starts at an offset with respect to a beginning of the input data, by a Direct Memory Access (DMA) module. The input data is aligned by the DMA module to cancel out the offset. The aligned input data is read out of the DMA module, and the cryptographic operation is performed on the section.04-30-2009
20090113217MEMORY RANDOMIZATION FOR PROTECTION AGAINST SIDE CHANNEL ATTACKS - Side channel attacks against a computing device are prevented by combinations of scrambling data to be stored in memory and scrambling the memory addresses of the data using software routines to execute scrambling and descrambling functions. Encrypted versions of variables, data and lookup tables, commonly employed in cryptographic algorithms, are thus dispersed into pseudorandom locations. Data and cryptographic primitives that require data-dependent memory accesses are thus shielded from attacks that could reveal memory access patterns and compromise cryptographic keys.04-30-2009
20090113215FAST UPDATE FOR HIERARCHICAL INTEGRITY SCHEMES - A method for data integrity protection includes arranging data in a plurality of data blocks. A respective block signature is computed over each of the data blocks, thereby generating multiple block signatures. The data blocks and the block signatures in an integrity hierarchy are stored in a storage medium, the hierarchy comprising multiple levels of signature blocks containing signatures computed over lower levels in the hierarchy, culminating in a top-level block containing a top-level signature computed over all of the hierarchy. A modification is made in the data stored in a given data block within the hierarchy. The respective block signature of the given data block is recomputed in response to the modification, and the recomputed block signature is stored in the top-level block for use in verifying a subsequent requests to read data from the given data block.04-30-2009
20090113214SOFTWARE PROTECTION AGAINST FAULT ATTACKS - A method for protecting information in a device includes providing a device with a non-secure hardware domain, a processor having a software-controlled mode of operation, and a secure hardware domain having a secure memory that is inaccessible by the processor when the processor is operating in the software-controlled mode of operation. Data from the non-secure hardware domain is established in the secure hardware domain. Computing operations are executed on the data in the secure hardware domain to produce a result. The secure hardware domain is purged, while retaining the result therein. The result is thereafter returned from the secure hardware domain into the non-secure hardware domain.04-30-2009
20090113207SECURE OVERLAY MANAGER PROTECTION - A method for protection of data includes maintaining a control parameter indicative of a current version of the data. The data is partitioned into multiple segments. Respective signatures of the segments are computed, responsively to the control parameter, the segments and respective signatures forming respective signed input segments, which are stored in a memory. After the signed input segments are stored, a signed output segment is fetched from the memory. The signature of the signed output segment is verified responsively to the control parameter, and the data in the signed output segment is processed responsively to verifying the signature.04-30-2009
20090113146SECURE PIPELINE MANAGER - A method for data storage includes supplying data to and from a host to a storage memory via a secure data path. A first CPU is employed to control operation of the storage memory, and a second CPU is employed to control operation of the secure data path.04-30-2009
20090113136CACHING FOR STRUCTURAL INTEGRITY SCHEMES - A method for data integrity protection includes storing items of data in a plurality of data blocks in a storage medium. Respective block signatures are stored in an integrity structure in the storage medium. A block signature of the given data block is computed in response to a first request to read a first data item from a given data block, and the computed signature is verified against a stored signature read from the integrity structure. The verified block signature is saved in a secure cache. The block signature is recomputed upon receiving a second request to read a second data item, subsequent to the first request, and is verified against the verified block signature in the secure cache. The data item is output from the storage medium in response to verifying the recomputed block signature.04-30-2009
20090113117RE-FLASH PROTECTION FOR FLASH MEMORY - A method for storing data includes providing a memory package including an integrated circuit containing a non-volatile memory and counter circuitry. The data is written to the non-volatile memory. The counter circuitry is operated to maintain a count of write operations performed on the non-volatile memory. The data and the count from the memory package are received at a controller, separate from the memory package, and the data is authenticated in response to the count.04-30-2009
20090112823WRITE FAILURE PROTECTION FOR HIERARCHICAL INTEGRITY SCHEMES - A method for data integrity protection includes arranging in an integrity hierarchy a plurality of data blocks, which contain data. The integrity hierarchy includes multiple levels of signature blocks containing signatures computed respectively over lower levels in the hierarchy, wherein the levels culminate in a top-level block containing a top-level signature computed over the hierarchy. A modification to be made in the data stored in a given data block is received. One or more of the signatures is recomputed in response to the modification, including the top-level signature. Copies of the given data block, and of the signature blocks, including a copy of the top-level block, are stored in respective locations in a storage medium. An indication that the copy is a valid version of the top-level block is recorded in the copy of the top-level block.04-30-2009
20090110190FAST SECURE BOOT IMPLEMENTATION - A method for data storage includes employing a first CPU to execute code from a ROM associated therewith. A second CPU is employed to upload code from a flash memory to a code RAM associated with the first CPU, while the first CPU is available to perform other tasks.04-30-2009
20090110188CONFIGURABLE RANDOM NUMBER GENERATOR - A method for random number generation includes generating random number sequences using a Random Number Generator (RNG) circuit having an externally-modifiable configuration. The RNG circuit generates a first random number sequence having a first measure of randomness, and modifies the configuration of the RNG circuit, causing the RNG circuit to generate a second random number sequence having a second measure of the randomness, indicating a degree of the randomness that is no less than the first measure.04-30-2009
20090100215IDENTITY-BASED FLASH MANAGEMENT - Methods, apparatus, and computer code for effecting flash policy configuration operations in accordance with an end-user identifier and/or a host-instance identifier are disclosed herein. Exemplary flash policy configuration operations include (i) configuring a flash error-correction policy, (ii) configuring a flash-management table storage policy; (iii) configuring a wear-leveling policy; (iv) configuring a bad-block management policy and (v) configuring a flash-programming voltage parameter. Exemplary end-user identifiers include but are not limited to email account identifiers, logon user names, and International Mobile Subscriber Identities (IMSI). Exemplary host-instance identifiers may include but are not limited to International Mobile EQUIPMENT Identifiers (IMEI). Optionally, the flash policy configuration is contingent on authentication context data—for example, strength of the authentication (e.g. login/password vs. smartcard authentication or biometric authentication), date of the authentication, and identity provider information.04-16-2009
20090086880COUNTER USING SHIFT FOR ENHANCED ENDURANCE - A counting device includes a set of memory cells, which are configured to store respective bits of a count code. A controller is coupled to the memory cells so as to increment, in response to occurrences of a count input, the count code in the set of the memory cells from an initial value up to a preset bound in each of a plurality of successive iterations, and to shift the bits of the count code that are respectively stored in the memory cells in each of the iterations relative to a preceding iteration.04-02-2009
20090080259Post-Facto Correction For Cross Coupling In A Flash Memory - A method of storing and reading data, using a memory that includes a plurality of cells (e.g. flash cells), such that data are stored in the cells by setting respective values of a physical parameter of the cells (e.g. threshold voltage) to be indicative of the data, and such that data are read from the cells by measuring those values. One of the cells and its neighbors are read. The data stored in the cell are estimated, based on the measurements and on respective extents to which the neighbors disturb the reading. Preferably, the method also includes determining those respective extents to which the neighbors disturb the reading, for example based on the measurements themselves.03-26-2009
20090080247USING MLC FLASH AS SLC BY WRITING DUMMY DATA - A method for storing data includes designating, in a memory array including cells configured for writing a first number of bits per cell, a group of the cells to which input data are to be written at a second number of bits per cell, smaller than the first number. Dummy data that are independent of the input data are stored in a first set of one or more bits of the cells in the group. The input data are written to a second set of at least one other bit of the cells in the group.03-26-2009
20090073769METHOD AND SYSTEM FOR OPTIMIZING RELIABILITY AND PERFORMANCE OF PROGRAMMING DATA IN NON-VOLATILE MEMORY DEVICES - Methods of managing memory devices, and devices so managed. A value of a parameter, that is used to program one or more memory cells, is adapted to a monitored condition of the cell(s). Either the number of bits per cell is held fixed or the monitored condition is an intrinsic condition of the cell(s). The initial value of the parameter is optimized for those specific cells, relative to a pre-selected criterion, by programming the cell(s) in accordance with candidate values of the parameter.03-19-2009
20090006748METHOD FOR OPERATING A MEMORY INTERFACE WITH SIM FUNCTIONS - A method for operating a host device includes inserting a plug-in adapter, having a subscriber identity module (SIM) component disposed thereon, into a host receptacle of the host device. A memory card is inserted into a memory receptacle on the plug-in adapter. After inserting the plug-in adapter and the memory card, communications are conveyed between the host device and the SIM component via the adapter and the memory card.01-01-2009
20090002957MEMORY INTERFACE CARD WITH SIM FUNCTIONS - A plug-in adapter includes a first contact for connection to a host device, at least two second contacts for connection to a memory card, and a third contact for connection to a subscriber identity module (SIM) component. Circuitry in the adapter connects at least one of the second contacts to the third contact and connects at least another of the second contacts to the first contact so as to create a communication path between the host device and the SIM component via the memory card.01-01-2009
20080316717SIM Card Handle - An improved smart card is provided, which is adapted for easy extraction from a smart card socket, or example, in a mobile telephone. Facilitating the easy extraction is a structural deviation in the plane of at least one of the sides of the smart card to enable an increase of an external force on the smart card to thereby cause the extraction of the smart card from a socket. The structural deviation may be a change in the thickness of the smart card or a roughened surface in the smart card's enclosure. The smart card may be a SIM card. Also provided is a method of extracting a smart card from a socket, which method may include the steps of engaging a structural deviation in the plane of at least one side of the smart card's enclosure and applying a force to the engaged structural deviation.12-25-2008
20080313511SYSTEM-IN-PACKAGE AND METHOD OF TESTING THEREOF - A method of testing a SIP that has a CPU, a nonvolatile memory and a volatile memory. First, the CPU is used to test the memories. Then the CPU is tested separately. Preferably, the programs for testing the memories are pre-stored in and loaded from the nonvolatile memory into the volatile memory and are executed by the CPU in the volatile memory. Preferably, the test results are stored in the nonvolatile memory.12-18-2008
20080301483Surge-Protected Peripheral Devices - A computing system including: a host system; at least one device, mechanically connected to the host system, each device having an active state and an inactive state, wherein each device is conductively disconnected from the host system when the inactive state is enabled; and a mechanism for the host system to switch each device between the active state and the inactive state Preferably, at least one device is connected to the host system via a connector. Preferably, the device is hard-wired to the host system. Preferably, some wires of at least one device are isolated from the host system via a mechanical contactor. Preferably, some wires of at least one device are isolated from the host system via an optical isolator. Preferably, the system further includes: a switching battery; and a mechanism for charging the battery when at least one device is disconnected from the host system.12-04-2008
20080301341Management Of Internal Operations By A Storage Device - A method enables a storage device to autonomously (i.e., without intervention of a host device) determines whether an integral sequence of commands, which is related to one or more storage commands issued by the host device, is in a certain state (i.e., it is “active” or “inactive”) or is transitioning from “active” state to “inactive” state, or from “inactive” state to “active” state. Depending on the determined state or transition, the storage device determines whether to refrain from executing Extra-Sequence (“ESQ”) operations and permit executing Intra-Sequence (“ISQ”) operations, or vice versa.12-04-2008
20080301288METHOD AND DEVICE FOR MONITORING A TRANSACTION - A device for detecting a timeout event during a transaction between a user and a host includes a memory storing a set of predetermined threshold values in association with corresponding operations. A timing control unit that is operative to provide timing information. A controller is operative to detect a timeout event based on the timing information provided thereto and on the predetermined threshold vale of a corresponding operation. Activation of the device is conditional upon a signal received from a host. In another example embodiment, a device for detecting a timeout event during a transaction between a user and a host based on timing information and the predetermined threshold values includes means to access external power from the host.12-04-2008
20080300014METHODS OF OPERATING A SYNERGETIC TANDEM POCKET DEVICE - A method of operating a communications system including a mobile phone and a media playback device is disclosed. When the mobile phone is uncoupled from the media playback device, voice telephony services are provided by the mobile phone using an onboard RF transceiver of the mobile phone. When the media playback device is uncoupled from mobile phone, media playback services are provided by the media playback device using an onboard CODEC and an onboard display screen of the media playback device. When the media playback device and the mobile phone are operatively coupled together to form a tandem device, video telephony services are provided by the tandem device using the RF transceiver of the mobile phone, the CODEC of the media playback device and the display screen of the media playback device. Methods of operating a GPS system including a screenless GPS device and a mobile phone are also disclosed herein.12-04-2008
20080300013SYNERGETIC TANDEM POCKET DEVICE - A videophone device including two units 12-04-2008
20080299834BACK-TO-BACK PCB USB CONNECTOR - A double-sided USB connector may include a first PCB that may provide a first set of electrical contacts on its first side and solder pads on its second side. The first PCB may further include a components side, solder pads, and signal traces. The double-sided USB connector may also include a second PCB that may provide a second set of electrical contacts on its first side and terminals on its second side. Contacts selected from the second set of contacts may be connected to selected terminals, for example through via paths in the second PCB. Contacts from the first and second sets of contacts may selectively be connected to components on the first PCB using signal traces rather than wires. The first PCB may be joined to the second PCB by using the terminals, and the two PCBs may be packaged using a common molded body.12-04-2008
20080299704INTEGRATED CIRCUIT DIE WITH LOGICALLY EQUIVALENT BONDING PADS - An integrated circuit (IC) die includes two bonding pads, that share a common logical function, such as signal input or signal output, separated by the width of the die, and preferably on opposite sides of the die. System-in-package devices are produced by steps including directly electrically connecting one or the other bonding pad to bonding pads of other, functionally different IC dies, with the bonding pads of the other IC dies, to which are connected bonding pads of common logical function of the IC dies of the present invention, being functionally identical but geometrically different. Multchip package devices are produced by stacking the IC dies of the present invention with other IC dies and directly electrically connecting one or the other bonding pad to different bonding pads of the other IC dies.12-04-2008
20080296980Method For Protecting Peripheral Devices From Surges - The present invention discloses methods for protecting a peripheral device in a computing system from electrical surge currents, the method including the steps of: providing a controller operationally connected to a host system; and reversibly conductively connecting, via the controller, wires of the device to the host system. Preferably, the device is connected to the host system via a connector. Preferably, the device is hard-wired to the host system. Preferably, at least some wires of the device are isolated from the host system via a mechanical contactor. Preferably, at least some wires of the device are isolated from the host system via an optical isolator. Preferably, the method further includes the step of: charging a switching battery when the device is disconnected from the host system. Most preferably, the method further includes the step of: powering the device using the battery when the device is connected to the host system.12-04-2008
20080294869Systems For Optimizing Page Selection In Flash-Memory Devices - The present invention discloses a computer-readable storage medium having computer-readable code embodied on the computer-readable storage medium, the computer-readable code including: program code for interleaving fast-reading data and filler data in fast pages and slow pages, respectively. A computer-readable storage medium having computer-readable code embodied on the computer-readable storage medium, the computer-readable code including: program code for reconstructing a data object from data stored only in designated pages. Preferably, the designated pages are fast pages or slow pages. A computer-readable storage medium having computer-readable code embodied on the computer-readable storage medium, the computer-readable code including: program code for at least one data object configured to be stored in fast pages and slow pages, wherein initial pages of at least one data object are stored only in primary pages, and the subsequent pages of at least one data object are stored only in secondary pages.11-27-2008
20080291731Methods For Optimizing Page Selection In Flash-Memory Devices - The present invention discloses methods for storing data in a flash-memory storage device, the method including the steps of: receiving, by the device, primary data to be stored in the device and to be read from the device at a primary reading speed; storing at least part of the primary data only in fast pages in the device, wherein the fast pages are located in multi-level cells of the device; designating, by the device, secondary data to be read from the device at a secondary reading speed, wherein the secondary reading speed is slower than the primary reading speed; and storing at least part of the secondary data only in slow pages in the device, wherein the slow pages are located in the multi-level cells. Preferably, the method further includes the step of: moving the secondary data from a previously-stored area in the device to the slow pages.11-27-2008
20080288714FILE STORAGE IN A COMPUTER SYSTEM WITH DIVERSE STORAGE MEDIA - A method for storing data in a computer having a magnetic hard disk drive (HDD) and an electronic solid-state drive (SSD). The method includes configuring the computer so that the HDD and the SSD are each independently accessible by an operating system of the computer. A plurality of files is received for storage by the computer. A predicted use profile of the computer is defined. A respective one of the HDD and the SDD is selected for the storage of each of the files responsively to the predicted use profile.11-20-2008
20080286082METHODS AND SYSTEMS FOR INTERRUPTED COUNTING OF ITEMS IN COUNTAINERS - Methods and systems for counting items in storage containers in an array of at least two storage containers, the method including the steps of: providing a storage array of at least two storage containers, each of the storage containers containing an unknown amount of items; providing a receiving array of at least two receiving containers, wherein the receiving containers initially contain no items; extracting a layer of the items from the storage array; inserting the layer into corresponding locations in the receiving array; repeating the steps of extracting and inserting while at least one of the storage containers is not empty; counting, for each storage container in the storage array, a productive-extraction amount; and reporting, for at least some of the storage containers, the productive-extraction amount from each storage container. Preferably, the method further includes recovering a storage identity upon recovery from a system failure that erases the productive-extraction amount.11-20-2008
20080285660DUAL DECODER PORTABLE MEDIA DEVICE - A portable media device 11-20-2008
20080285659METHODS OF OPERATING A DUAL DECODER PORTABLE MEDIA DEVICE - Methods of operating a portable media device 11-20-2008
20080276058Storage Device For Data-Smuggling - A computer-readable storage medium having computer-readable code embodied thereon including: program code for restricting access, by a file system running on a host system, to a restricted area of a storage area of a storage device; and program code for enabling at least one application to access the restricted area via the file system. Preferably, the computer-readable code further includes: program code for enabling the storage device to copy data from a non-restricted area to the restricted area. Preferably, the computer-readable code further includes: program code for directing the storage device to route host-system read-requests, directed to addresses in the restricted area, to addresses in a non-restricted area. Preferably, the computer-readable code further includes: program code for applying access commands of the host system to restricted data residing in the restricted area when the host system requests access to non-restricted data addressed to a non-restricted area.11-06-2008
20080274633REVERSIBLE UNIVERSAL SERIAL BUS (USB) CONNECTOR - A reversible receptacle for coupling with a USB A-type standard connector, including a first set of four electrical contact regions and a second set of four electrical contact regions, the contact regions configured such that in a first coupling orientation of the reversible receptacle with the standard plug, only the first set of electrical contact regions is mechanically connected with the contacts of the standard plug and in a second coupling orientation of the reversible receptacle with the standard plug, only the second set of electrical contact regions is mechanically connected with the contacts of the standard plug. Also provided are corresponding reversible USB appliances based upon the aforementioned reversible receptacles.11-06-2008
20080270730METHOD FOR EFFICIENT STORAGE OF METADATA IN FLASH MEMORY - User data are stored in a memory that includes one or more blocks of pages by, for one of the blocks, and optionally for all of the blocks, whenever writing any of the user data to that block, writing the block according to a predefined plan for specifying, with respect to each page of that block, a portion of the user data that is to be written to that page. Alternatively or additionally, each page that stores user data has associated therewith a metadatum related to the age of the user data stored therein; and, for one of the blocks, at any time that two or more of the pages of that block store user data, a common value of the metadatum is associated with all such pages.10-30-2008
20080270682METHOD FOR USING A MULTI-BIT CELL FLASH DEVICE IN A SYSTEM NOT DESIGNED FOR THE DEVICE - A computerized system is booted from a flash memory device configured to always operate one or more of its blocks only in a M-bit-per-cell mode and the rest of its blocks in a N>M-bit-per-cell mode. When the system is powered up, an initialization program is retrieved from the M-bit-per-cell block(s), corrected for errors using a first error correction method, and executed. Data accessed subsequently from the N-bit-per-cell blocks are corrected using an error correction method that corrects more errors per block than the first error correction method.10-30-2008
20080263266ADAPTIVE DYNAMIC READING OF FLASH MEMORIES - Each of a plurality of flash memory cells is programmed to a respective one of L≧2 threshold voltage states within a threshold voltage window. A histogram is constructed by determining how many of some or all of the cells have threshold voltages in each of two or more of m≧2 threshold voltage intervals within the threshold voltage window. Reference voltages for reading the cells are selected based on estimated values of shape parameters of the histogram. Alternatively, the cells are read relative to reference voltages that define m≧2 threshold voltage intervals that span the threshold voltage window, to determine numbers of at least a portion of the cells whose threshold voltages are in each of two or more of the threshold voltage intervals. Respective threshold voltage states are assigned to the cells based on the numbers without re-reading the cells.10-23-2008
20080250489Systems For Firewall Protection Of Mass Storage Devices - The present invention discloses a URD including: a non-volatile storage memory having program code, wherein said program code is configured to enable a network protocol for communicating with a host system; and a controller for controlling operations performed on said storage memory. Preferably, the storage memory includes flash memory. A URD including: a host system having a firewall; and a URD having a nonvolatile storage memory, wherein said storage memory includes program code, and wherein said program code is configured to enable a network protocol, said URD operationally connected to said host system; wherein said firewall is configured to provide security measures related to said URD. Preferably, the firewall is a software firewall or a hardware firewall.10-09-2008
20080250488Methods For Firewall Protection Of Mass-Storage Devices - The present invention discloses methods for protecting a host system from information-security risks posed by a URD, the method including the steps of: operationally connecting the URD to the host system; communicating, between the URD and the host system, via a network protocol, through a firewall residing in the host system; and configuring said firewall to provide security measures related to the URD. Preferably, the firewall is a software firewall or a hardware firewall. A method for protecting a host system from information-security risks posed by a URD, the method including the steps of: operationally connecting the URD to the host system; communicating, between the URD and the host system, via a network protocol, through a firewall residing in the host system; and configuring said firewall to restrict access of at least one application to the URD. Preferably, the firewall is a software firewall or a hardware firewall.10-09-2008
20080250487Systems For Firewall Protection Of Mass Storage Devices - The present invention discloses a URD including: a non-volatile storage memory having program code, wherein said program code is configured to enable a network protocol for communicating with a host system; and a controller for controlling operations performed on said storage memory. Preferably, the storage memory includes flash memory. A URD including: a host system having a firewall; and a URD having a non-volatile storage memory, wherein said storage memory includes program code, and wherein said program code is configured to enable a network protocol, said URD operationally connected to said host system; wherein said firewall is configured to provide security measures related to said URD. Preferably, the firewall is a software firewall or a hardware firewall.10-09-2008
20080222445BIAS AND RANDOM DELAY CANCELLATION - A system and method for digital communication wherein a host provides a host clock and a clockless device transmits to the host a bit stream synchronized according to the clock at a data rate that is an integer multiple of the clock rate. A training mechanism using training data detects time skew between host clock and bit stream, and a digital skew compensation mechanism compensates, substantially in real time, for the skew and for variations in the skew that may occur with the passage of time, in accordance with a vote among at least three samples of a bit of the bit stream, subsequent sampling being retarded or advanced if, respectively, an early or late sample is in disagreement with the vote. Preferably, the compensation value is selected from at least four possible compensation values, and can be stored in a memory to hasten subsequent restarts of the system.09-11-2008
20080219359Method and system for reducing common mode noise interference in a differential communication channel - A data transmission method includes providing, by a current source, a current to the first conductor while isolating the second conductor from the current source, to thereby transmit a first binary digit; and, responsive to a command to transmit a second binary digit, (i) decreasing from a maximum value to zero an amount of the current provided to the first conductor and (ii) increasing from zero to a maximum value an amount of the current provided by the current source to the second conductor. The decreasing and the increasing are performed simultaneously, in such a manner that the amount of the current provided to the first conductor decreases at the same rate as the amount of the current provided to the second conductor increases, and such that each of a first signal corresponding to the current provided to the first conductor and a second signal corresponding to the current provided to the second conductor has a transition edge having a leading section, a midsection and a trailing section, with the midsection of the transition edge having an average slope that is greater than an average slope of the leading section of the transition edge and that is greater than an average slope of the trailing section of the transition edge. A system is provided which includes a switching system, which is operatively interposed between the current source and the differential communication channel, and a controller which is operative to issue one or more signals control signals to the switching system to implement the data transmission method.09-11-2008
20080215788CONNECTOR WITH OPPOSITE-FACING PORTS - A connector for connecting a host device to one or more peripheral devices includes two ports, for example two USB ports, facing in two different, preferably opposite, directions. The scope of the invention also includes a system board that includes the connector, and a host device, such as a computer, that includes the motherboard.09-04-2008
20080209109INTERRUPTIBLE CACHE FLUSHING IN FLASH MEMORY SYSTEMS - Cache flushing is effected for a flash memory by copying, to a block of the memory, first and second portions of cached data, and servicing a host access in-between copying the first portion and the second portion. Either both portions are selected before the copying, or erasing the block is forbidden until after the copying, or a portion of the block left unwritten by the first copying remains unwritten until after the host access is serviced.08-28-2008

Patent applications by SANDISK IL LTD.