Patent application number | Description | Published |
20120188580 | INSERTION OF PRINTER OPERATOR INSTRUCTIONS ONTO SEPARATOR PAGES IN A PRINT SHOP ENVIRONMENT - Systems and methods are provided for notifying operators of tasks to perform on printers by inserting operator instructions onto separator pages that are placed between print jobs. One embodiment is a print server that includes a control system and a page generator. The control system is operable to identify a print job, and to identify an operator instruction for the print job indicating a physical task for an operator to perform on a printer before the print job is printed. Also, the control system holds the print job responsive to identifying the operator instruction. The page generator generates a separator page comprising the operator instruction that indicates the physical task to perform on the printer, and transmits the separator page for printing to inform the operator of the task before the print job is printed. | 07-26-2012 |
20120188586 | INPUT TRAY DESIGNATION FOR SEPARATOR PAGES IN A PRINT SHOP ENVIRONMENT - Systems and methods are provided that allow for printing of separator pages from designated input trays on printers of a print shop. One embodiment is a print server that receives an incoming print job directed to a printer, and identifies an input tray of the printer that has been designated for printing separator pages. The print server also generates a separator page with a property that directs the printer to print the separator page with media from the designated input tray, and transmits the separator page to the printer for printing from the designated input tray. | 07-26-2012 |
20120188587 | PRINT QUEUE MANAGEMENT IN A PRINT SHOP ENVIRONMENT - Systems and methods for print queue management are provided. The system performs a queue management process to identify a print job loaded in a first queue for a first printer, and to estimate a first time to print the print job on the first printer from the first queue. The system selects a second queue for a second printer, estimates a second time to print the print job on the second printer from the second queue if the print job were moved to the second queue, and calculates a difference in printing time between the first time to print and the second time to print. The system also moves the print job from the first queue to the second queue based on the calculated difference in printing time. | 07-26-2012 |
20120212757 | MULTIPLE PRINT PROTOCOL CAPABILITY OF A VIRTUAL PRINTER IN A PRINT SHOP ARCHITECTURE - The systems and methods presented herein provide for seamless printer accessibility to clients regardless of the print protocols being used in their respective print jobs. A printing system includes a physical printer and a print process device operable to process a print job from a client system. The print processing device includes a virtual printer operable to detect a print protocol associated with the print job, determine that the print protocol associated with the print job conflicts with the print capabilities of the physical printer, configure the print job with the print protocol of the physical printer based on the print protocol associated with the print job, and process the print job according to the print protocol of the physical printer. In doing so, a protocol converter may map printer commands of the print protocol of the print job to printer commands of the print protocol of the printer. | 08-23-2012 |
20120212769 | PSEUDO JOBS IN PRINT QUEUES FOR PRINT JOB SCHEDULING - Methods and systems are provided for scheduling multiple types of print jobs in a print queue using a pseudo job. A pseudo job is a special type of non-printing job object that is added to a print queue. In one embodiment, a system includes a print queue that stores print jobs scheduled for a printer. The print queue also stores a pseudo job that defines a boundary in the queue between print jobs having a first set of print settings and print jobs having a second set of print settings. In another embodiment, a system includes a print queue, a control system, and a graphical user interface. The graphical user interface displays options for generating a pseudo job, and receives input indicating a scheduled change to a configuration of a printer. The control system generates the pseudo job based on the input, and inserts the pseudo job in the print queue. | 08-23-2012 |
20120212770 | PRINT JOB SCHEDULING IN A PRINT SHOP ENVIRONMENT - Methods and systems are provided for scheduling multiple types of print jobs for a printer more efficiently by scheduling jobs together that share print settings. In one embodiment, a system includes a print queue that stores print jobs scheduled for a printer. The system also includes a scheduler that receives requests to schedule a print job for the printer. The scheduler compares the print settings of the requested print job to print settings of the print jobs already in the print queue. The scheduler then schedules the requested print job among the print jobs in the print queue that have print settings corresponding with the print settings of the requested print job. | 08-23-2012 |
20120212774 | SYSTEM INDEPENDENT PRINTER APPLICATION - The systems and methods presented herein provide print operations to a client via a print application in a manner that makes the print application independently operable within a computing environment of the client. The system includes a print application initiator that is operable in the client to copy system definitions of the client that control computing sessions within the client, to retrieve print application definitions that control computing sessions for the print application, and to change one or more of the copied system definitions based on the print application definitions. The print application initiator is also operable to generate a computing session for the print application within the client based on the changed system definitions and to start the print application within the computing session to provide the print operations of a print processing device to the client. | 08-23-2012 |
20120243026 | Remote Print Processing Mechanism - A method disclosed. The method includes downloading a first print job data stream from a cloud computing network, transmitting the first print job data stream to a printer, monitoring a printing status of the printer to determine when the printer is ready to receive a second print job and downloading a second print job data stream from the cloud computing network upon determining that the printer is ready to receive the second print job. | 09-27-2012 |
20130155436 | ALTERING A PDF PRINT JOB BASED UPON CRITERIA STORED IN MEMORY OF A PRINTING SYSTEM - Systems and methods are provided for altering the content of a PDF print job. The printing system includes a memory, an interface, and a markup engine. The memory includes criteria for identifying Portable Document Format (PDF) content stored in print jobs, and also includes a mark-up instruction for altering printable PDF content stored in print jobs, where the mark-up instruction references one or more of the criteria. The interface is operable to receive a PDF print job for processing. The markup engine is operable to access the mark-up instruction, to review the PDF print job to identify multiple segments of the print job that each include PDF content that matches the one or more criteria referenced by the mark-up instruction, and to alter the identified segments based on the mark-up instruction. | 06-20-2013 |
20140247460 | CONFLICT RESOLUTION AND OPTIMIZATION FOR JOB DEFINITION FORMAT INSTRUCTIONS - Systems and methods are provided for addressing conflicts when merging Job Definition Format (JDF) instructions. The system includes a memory that stores rules for prioritizing Job Definition Format (JDF) instructions. The system also includes a controller able to receive a print job and to identify multiple sets of JDF instructions for the print job. The controller is further able to generate a merged set of JDF instructions from the JDF instructions in each of the identified sets, and to identify conflicts within the merged set between JDF instructions that share page ranges with each other. The controller is also able to resolve the conflicts by altering JDF instructions based on the rules stored in memory. | 09-04-2014 |
20140300916 | PRINT RECOVERY FOR PRINTING SYSTEMS - Systems and methods delay a print job from being automatically rescheduled to a backup printer in response to an error at a printer scheduled to print the job. In one embodiment, a control system determines that a printer scheduled to print a job has an error condition, and identifies the error condition at the printer. The control system calculates a time delay based on the error condition before initiating a rescheduling process for the job to a backup printer. The control system initiates the rescheduling process if the time delay has expired, and cancels the rescheduling process if the error condition has ended before the time delay expires. | 10-09-2014 |
20150242162 | CUSTOMIZABLE MEDIA-BASED SCHEDULING FOR A PRINTING SYSTEM - System and methods are provided for customizable media-based scheduling for a printing system. One embodiment is an apparatus that includes a print server. The print server is configured to receive a description of media in a printer, and to store a mapping that associates the description of media with at least one alternate description for the printer that is comparable to the description of media. The print server is also configured to receive a print job that specifies a media property that does not match the description of media in the printer. The print server is further configured to determine that the media property corresponds with the at least one alternate description for the printer based on the mapping, and to determine that the printer is eligible for scheduling the print job based on the determination that the media property corresponds with the at least one alternate description. | 08-27-2015 |
Patent application number | Description | Published |
20100235572 | DATA STORAGE SYSTEM REDUNDANCY SCHEME VERIFICATION - Data storage systems are provided. Some embodiments of data storage systems include a storage device controller and a plurality of storage devices. The plurality of storage devices are illustratively in a redundancy scheme and the storage device controller receives from the plurality of storage devices a plurality of symbols. In one embodiment, each of the plurality of symbols is representative of data in the redundancy scheme, and the storage device controller verifies the consistency of the redundancy scheme based at least in part on the plurality of symbols. | 09-16-2010 |
20110075490 | DATA STRIPES AND ADDRESSING FOR FLASH MEMORY DEVICES - Data stripes and addressing for flash memory devices are provided. Flash memory devices illustratively have a plurality of programmable devices that are capable of simultaneously storing data. A plurality of erasure blocks are within each of the programmable devices, and each erasure block has pages of transistors. The flash memory devices are logically organized as a plurality of stripes. Each stripe has a height and a width. In an embodiment, the stripe height is greater than one page. In another embodiment, the stripe width is less than all of the programmable devices within the flash memory device. | 03-31-2011 |
20110119442 | NON-VOLATILE WRITE CACHE FOR A DATA STORAGE SYSTEM - The present disclosure provides a data storage system. In one example, the data storage system includes a data storage media component having a plurality of data storage locations. A first set of the plurality of data storage locations are allocated for a main data storage area. The data storage system also includes a controller configured to define a write cache for the main data storage area by selectively allocating a second set of the plurality of data storage locations. | 05-19-2011 |
20110185113 | Maintaining Data Integrity in a Data Storage Device - Method and apparatus for maintaining data integrity in a data storage device. In accordance with some embodiments, a memory space has a plurality of garbage collection units (GCUs) each arranged to store user data identified by logical addresses. Each GCU has a metadata region that stores metadata that correlates the logical addresses LBAs with physical addresses and a header region that stores descriptor data that identifies LBAs stored in the associated GCU. A control circuit identifies an error in the metadata from the descriptor data of a selected GCU and rebuilds the metadata to indicate a storage location of a most current version of data associated with a selected logical address. | 07-28-2011 |
20110225346 | GARBAGE COLLECTION IN A STORAGE DEVICE - In general, this disclosure relates to garbage collection in a storage device. Aspects of this disclosure describe techniques to identify one or more candidate memory storage blocks that should be recycled during garbage collection. The one or more candidate memory storage blocks may be identified based at least on monitored soft metrics of the candidate memory storage blocks. During garbage collection, the identified one or more candidate memory storage blocks may be recycled to free up storage space. | 09-15-2011 |
20110225347 | LOGICAL BLOCK STORAGE IN A STORAGE DEVICE - In general, this disclosure relates to storage of logical blocks in a storage device. Aspects of this disclosure describe techniques to monitor the frequency of access of one or more logical blocks referenced by one or more logical block addresses. Based on the frequency of access, in non-limiting aspects of this disclosure, a controller may select one or more physical blocks of a common memory storage block. The storage device may store the logical blocks in the selected physical blocks. | 09-15-2011 |
20110231596 | Multi-Tiered Metadata Scheme for a Data Storage Array - Method and apparatus for managing metadata associated with a data storage array. In accordance with various embodiments, a group of user data blocks are stored to memory cells at a selected physical address of the array. A multi-tiered metadata scheme is used to generate metadata which describes the selected physical address of the user data blocks. The multi-tiered metadata scheme provides an upper tier metadata format adapted for groups of N user data blocks, and a lower tier metadata format adapted for groups of M user data blocks where M is less than N. The generated metadata is formatted in accordance with a selected one of the upper or lower tier metadata formats in relation to a total number of the user data blocks in the group. | 09-22-2011 |
20110231623 | Garbage Collection Management in a Data Storage Device - Method and apparatus for handling data in a data storage device. In accordance with some embodiments, a memory space with a plurality of garbage collection units (GCUs) that are each arranged into pages of memory that store user data identified by logical addresses (LAs) and each GCU has a metadata region that stores metadata that correlates the LAs with physical addresses (PAs). A header region in each page of memory stores a bitmask and a sequence map of the LAs in each page that are used by a log manager to creates a bitmask table stored in a first cache and a hierarchical log stored in a second cache. The bitmask table and hierarchical log are used to determine when the LAs stored in the selected GCU are stale, and update the bitmask for each page in the selected GCU after the stale data has been erased. | 09-22-2011 |
20110258380 | FAULT TOLERANT STORAGE CONSERVING MEMORY WRITES TO HOST WRITES - A data storage apparatus and associated method involving a memory with a plurality of storage elements defining an associated set of stored data, and memory control logic that, responsive to a request to store first data in a first storage element of the plurality of storage elements, computes without storing to any of the plurality of storage elements first redundancy data for the associated set of stored data inclusive of the first data. | 10-20-2011 |
20110264843 | DATA SEGREGATION IN A STORAGE DEVICE - An example method includes providing at least two data storage areas in a memory, providing a first amount of over-provisioning for a first of the at least two data storage areas and a second amount of over-provisioning for a second of the at least two data storage areas, categorizing data based on a characteristic of the data, and storing the data in one of the at least two data storage areas based on the categorization. | 10-27-2011 |
20110302474 | Ensuring a Most Recent Version of Data is Recovered From a Memory - Method and apparatus for ensuring a most recent version of data is retrieved from a memory, such as a non-volatile flash memory array. In accordance with various embodiments, a controller is adapted to sequentially store different versions of an addressable data block having a selected logical address in different locations within a memory. The controller assigns a revision indication value to each said version, with at least two of said stored versions concurrently sharing the same revision indication value. In some embodiments, the revision indication value constitutes a repeating cyclical sequence count that is appended to each block, or logically combined with a code value and stored with each block. The total number of counts in the sequence is less than the total number of versions resident in the memory. | 12-08-2011 |
20110302477 | Data Hardening to Compensate for Loss of Data Retention Characteristics in a Non-Volatile Memory - Method and apparatus for enhancing reliability and integrity of data stored in a non-volatile memory, such as in a solid-state drive (SSD) having an array of flash memory cells. In accordance with various embodiments, a controller is adapted to harden data stored in a first location of said memory in relation to a detected loss of retention characteristics of the first location. In some embodiments, the data are hardened by storing redundancy information associated with said data in a second location of said memory. The redundancy information can be a redundant set of the data or higher level error correct codes (ECC). The hardened data can be recovered to the host during a read operation by accessing the data stored in both the first and second locations. | 12-08-2011 |
20120072639 | Selection of Units for Garbage Collection in Flash Memory - A data structure is formed that references a garbage collection metric for each of a plurality of associated garbage collection units of a flash memory device. Each garbage collection metric is based on one or more device state characteristics of the associated garbage collection unit. In response to a threshold change in the one or more device state variables, a region of interest within the data structure is sorted based on the garbage collection metrics. One or more garbage collection units are selected for garbage collection operations from the sorted region of interest. | 03-22-2012 |
20120198312 | METHODS AND DEVICES TO INCREASE MEMORY DEVICE DATA RELIABILITY - A first data set is written to first memory units identified as having a higher data reliability and a second data set is written to second memory units identified as having a lower data reliability than the first memory units. In some cases, the second data set may include metadata or redundancy information that is useful to aid in reading and/or decoding the first data set. The act of writing the second data set increases the data reliability of the first data set. The second data set may be a null pattern, such as all erased bits. | 08-02-2012 |
20130007511 | RAPID REBUILD OF A DATA SET - A method and apparatus for rebuilding a data set. In accordance with some embodiments, a data storage device is coupled to a host. An error condition associated with a memory of the data storage device is detected. Data stored in a first portion of the memory unaffected by said error condition is transferred to the host. A communication signal is output to the host that indicates that data stored in a second portion of the memory affected by said error condition will not be transferred to the host. The host reconstructs the data stored in the second portion of the memory responsive to the communication signal. | 01-03-2013 |
20130007543 | ESTIMATING TEMPORAL DEGRADATION OF NON-VOLATILE SOLID-STATE MEMORY - Representative locations of a non-volatile, solid-state memory of an apparatus store characterization data. An event during which elapsed time is not measured by the apparatus is determined. In response to the event, temporal degradation of the non-volatile, solid-state memory during the event is estimated based on electrical characteristics of the representative locations. | 01-03-2013 |
20130258770 | Parametric Tracking to Manage Read Disturbed Data - Method and apparatus for managing data in a memory, such as a flash memory array. In accordance with various embodiments, data are stored in a first location in a memory, and read from the first location a selected number of times. At least one parameter associated with the first location is measured after the data are read the selected number of times. The data are thereafter migrated to a second location in the memory responsive to the measured parameter indicating a presence of read disturbance in the data in the first location. | 10-03-2013 |
20130322169 | MULTI-LEVEL CELL (MLC) UPDATE WITH PROTECTED MODE CAPABILITY - Method and apparatus for managing data in a memory, such as a flash memory array. In accordance with some embodiments, a first block of data is written to a group of memory cells at a first memory location in single-level cell (SLC) mode. The first block of data is copied from the first memory location to a group of memory cells at a second memory location to provide a backup copy of the first block of data during a protected mode of operation. A second block of data is subsequently overwritten to the group of memory cells at the first memory location so that the first memory location stores both the first and second blocks of data in multi-level cell (MLC) mode. | 12-05-2013 |
20130326114 | WRITE MITIGATION THROUGH FAST REJECT PROCESSING - Apparatus and method for data management in a memory, such as but not limited to a flash memory array. In accordance with some embodiments, a first hash value associated with a first set of data stored in a memory is compared to a second hash value associated with a second set of data pending storage to the memory. The second set of data is stored in the memory responsive to a mismatch between the first and second hash values. | 12-05-2013 |
20130326115 | BACKGROUND DEDUPLICATION OF DATA SETS IN A MEMORY - Apparatus and method for data management in a memory, such as but not limited to a flash memory array. In accordance with some embodiments, a plurality of data sets in a memory are identified as having a common data content and different physical addresses in the memory. A selected one of the data sets is marked as valid data and the remaining data sets are marked as stale data responsive to evaluation of at least one variable parameter associated with the physical addresses at which the data sets are respectively stored. | 12-05-2013 |
20130326116 | ALLOCATING MEMORY USAGE BASED ON QUALITY METRICS - A tiered memory system includes a memory controller for a primary memory and a secondary memory, where the secondary memory is used as a cache for the primary memory. The memory controller is configured to cause redundant data that is stored in the primary memory of the memory system to be stored in first memory locations of the secondary memory. The controller causes data that is not stored in the primary memory to be stored in second memory locations of the secondary memory. The second memory locations have at least one of lower bit error rate and higher access speed than the first memory locations. | 12-05-2013 |
20140013047 | DEFINING ADDRESS RANGES USED TO CACHE SPECULATIVE READ DATA - A host read request affects a request address range of a main storage. A speculative address range proximate to the request address range is defined. Speculative data stored in the speculative address range is not requested via the host read request. A criterion is determined that is indicative of future read requests of associated with the speculative data. The speculative data is copied from the main storage to at least one of a non-volatile cache and a volatile cache together with data of the host read request in response to the criterion meeting a threshold. The non-volatile cache and the volatile cache mirror respective portions of the main storage. | 01-09-2014 |
20140013052 | CRITERIA FOR SELECTION OF DATA FOR A SECONDARY CACHE - Host read operations affecting a first logical block address of a data storage device are tracked. The data storage device includes a main storage and a non-volatile cache that mirrors a portion of data of the main storage. One or more criteria associated with the host read operations are determined. The criteria are indicative of future read requests of second logical block address associated with the first logical block address. Data of the at least the second logical block address is copied from the main storage to the non-volatile cache if the criteria meets a threshold. | 01-09-2014 |
20140013053 | DETERMINING A CRITERION FOR MOVEMENT OF DATA FROM A PRIMARY CACHE TO A SECONDARY CACHE - A new segment of data is copied to a volatile, primary cache based on a host data read access request. The primary cache mirrors a first portion of a non-volatile main storage criterion is determined for movement of data from the primary cache to a non-volatile, secondary cache that mirrors a second portion of the main storage. The criterion gives higher priority to segments having addresses not yet selected for reading by the host. In response to the new segment of data being copied to the primary cache, a selected segment of data is copied from the primary cache to the secondary cache in response to the selected segment satisfying the criterion. | 01-09-2014 |
20140052897 | DYNAMIC FORMATION OF GARBAGE COLLECTION UNITS IN A MEMORY - Method and apparatus for managing data in a memory, such as but not limited to a flash memory. In accordance with some embodiments, a memory is provided with a plurality of addressable data storage blocks which are arranged into a first set of garbage collection units (GCUs). The blocks are rearranged into a different, second set of GCUs responsive to parametric performance of the blocks. | 02-20-2014 |
20140115232 | Metadata Journaling with Error Correction Redundancy - Method and apparatus for managing a memory, such as but not limited to a flash memory. In accordance with some embodiments, user data and associated metadata are stored in a memory. The metadata are arranged as a first sequence of snapshots of the metadata at different points in time during the operation of the memory, and a second sequence of intervening journals which reflect updates to the metadata from one snapshot to the next. Requested portions of the metadata are recovered from the memory using a selected snapshot in the first sequence and first and second journals in the second sequence. | 04-24-2014 |
20140115233 | Restoring Virtualized GCU State Information - Method and apparatus for managing a memory, such as but not limited to a flash memory. In accordance with some embodiments, initial state information is stored which identifies an actual state of a garbage collection unit (GCU) of a memory during a normal operational mode. During a restoration mode after a memory power cycle event, a virtualized state of the GCU is determined responsive to the initial state information and to data read from the GCU. The memory is transitioned from the restoration mode to the normal operational mode once the virtualized state for the GCU is determined. | 04-24-2014 |
20140129891 | METHODS AND DEVICES TO INCREASE MEMORY DEVICE DATA RELIABILITY - A first data set is written to first memory units identified as having a higher data reliability and a second data set is written to second memory units identified as having a lower data reliability than the first memory units. In some cases, the second data set may include metadata or redundancy information that is useful to aid in reading and/or decoding the first data set. The act of writing the second data set increases the data reliability of the first data set. The second data set may be a null pattern, such as all erased bits. | 05-08-2014 |
20140241033 | Management of Variable Resistance Data Storage Device - Various embodiments may generally be directed to a variable resistance data storage device and a method of managing the device. A data storage device may have at least a controller configured to re-characterize at least one variable resistance memory cell in response to an identified variance from a predetermined resistance threshold. | 08-28-2014 |
20140244892 | ASSIGNING A WEIGHTING TO HOST QUALITY OF SERVICE INDICATORS - Quality of service indicators are provided from a host via a host interface. The quality of service indicators relate to data stored in a non-volatile data storage via the host. Workload indicators related to the quality of service indicators are measured, and a weighting is assigned to the host in response to a correlation between the quality of service indicators and the measured workload indicators. The weighting is applied to the quality of service indicators when responding to data access requests from the host. | 08-28-2014 |
20140244896 | Data Update Management in a Cloud Computing Environment - Method and apparatus for managing data in a cloud computing environment. In accordance with some embodiments, data updates are received to a multi-tier memory structure across a cloud network and stored as working data in an upper rewritable non-volatile memory tier of the memory structure. The working data are periodically logged to a lower non-volatile memory tier in the memory structure while a current version of the working data remain in the upper memory tier. The upper and lower memory tiers each are formed of rewritable memory cells having different constructions and storage attributes. | 08-28-2014 |
20140244897 | Metadata Update Management In a Multi-Tiered Memory - Method and apparatus for managing data in a memory. In accordance with some embodiments, metadata updates are stored in a first tier of a a multi-tier non-volatile memory structure responsive to access operations associated with data objects in the memory structure. The stored metadata updates are logged in a second, lower tier of the memory structure. The stored metadata updates are further migrated to a different location within the first tier responsive to an accumulated count of said access operations. | 08-28-2014 |
20140245108 | ECC Management for Variable Resistance Memory Cells - A data storage device may generally be constructed and operated with at least a controller configured to identify a variance from a predetermined threshold in at least one variable resistance memory cell and upgrade a first error correction code (ECC) level to a second ECC level for the at least one variable resistance memory cell. | 08-28-2014 |
20140258646 | FORMING A CHARACTERIZATION PARAMETER OF A RESISTIVE MEMORY ELEMENT - An incremental signal is defined that includes at least one of a duration and a peak voltage that is less than a respective minimum programming time or minimum programming voltage step of a resistive memory element. A characterization procedure is repeatedly performed that at least involves: applying a signal to the memory element, the signal being incremented by the incremental signal during each subsequent application; measuring a first resistance of the memory element in response to the signal; and c) measuring a second resistance of the memory element after a time period has elapsed from the measurement of the first resistance with no programming signal applied. In response to the first and second resistance measurements of the characterization procedure, a characterization parameter of the memory element is formed. | 09-11-2014 |
20140281280 | SELECTING BETWEEN NON-VOLATILE MEMORY UNITS HAVING DIFFERENT MINIMUM ADDRESSABLE DATA UNIT SIZES - An apparatus includes a controller capable of being coupled to a host interface and a memory device. The memory device includes two or more non-hierarchical, non-volatile memory units having different minimum addressable data unit sizes. The controller is configured to at least perform determining a workload indicator of a data object being stored in the memory device via the host interface. The controller selects one of the memory units in response to the workload indicator of the data object corresponding to the minimum addressable data unit size of the selected memory unit corresponding to the workload indicator. The data object is stored in the selected memory unit in response thereto. | 09-18-2014 |
20150046747 | TORN WRITE MITIGATION - Torn write mitigation circuitry determines if a write operation to memory is in progress at or about a time of power loss. In response to the write operation being in progress at or about the time of the power loss, the torn write mitigation circuitry causes torn write data and metadata to be stored to a non-volatile cache. The torn write data comprise data left in a degraded or uncorrectable state as a result of the loss of power. The metadata describe the torn write data. | 02-12-2015 |
20150074486 | TRANSFER UNIT MANAGEMENT - Method and apparatus for managing data in a memory, such as a flash memory. In accordance with some embodiments, a non-volatile memory is arranged into a plurality of blocks, with each of the blocks constituting an integral plural number N of fixed-sized, multi-bit transfer units. A processing circuit retrieves at least a portion of the data stored in a selected block to a volatile memory buffer in response to a transfer unit (TU) bit map. The TU bit map is stored in a memory and provides a multi-bit sequence of bits corresponding to the N transfer units of the selected block. The values of the bits in the multi-bit sequence of bits indicate whether the corresponding transfer units are to be retrieved. | 03-12-2015 |
20150074487 | Memory Device with Variable Code Rate - Method and apparatus for managing data in a memory, such as a flash memory. In accordance with some embodiments, the apparatus has a solid-state non-volatile memory and a processing circuit configured to write data to a selected location of the memory. The data are arranged in the form of multi-bit code words each comprising a user data payload and associated parity data configured to correct one or more bit errors in the user data payload. The processing circuit adjusts at least a selected one of a size of the code words, a size of the user data payloads or a size of the parity data responsive to at least a selected one of an accumulated count of access operations upon the selected location or an error rate associated with the selected location. | 03-12-2015 |
20150089119 | COMMAND EXECUTION USING EXISTING ADDRESS INFORMATION - Method and apparatus for managing data in a memory, such as a flash memory. In accordance with some embodiments, a memory module has a plurality of solid-state non-volatile memory cells. A controller communicates a first command having address information and a first operation code. The first operation code identifies a first action to be taken by the memory module in relation to the address information. The controller subsequently communicates a second command having a second operation code without corresponding address information. The memory module takes a second action identified by the second command using the address information from the first command. | 03-26-2015 |
20150089278 | VARIABLE DATA RECOVERY SCHEME HIERARCHY - Method and apparatus for managing data in a memory, such as a flash memory. In accordance with some embodiments, a memory has a plurality of solid-state non-volatile memory cells. A processing circuit is connected to the memory and configured to direct the execution of a plurality of read error recovery routines in response to at least one uncorrectable read error in a data set retrieved from the memory. The recovery routines are executed in a selected order based on an elapsed recovery time parameter for each of the recovery routines and an estimated probability of success of each of the recovery routines. | 03-26-2015 |
20150106568 | MULTI-TIERED CACHING FOR DATA STORAGE MANAGEMENT IN A DEVICE - A data storage device includes one or more storage media that include multiple physical storage locations. The device also includes at least one cache memory having a logical space that includes a plurality of separately managed logical block address (LBA) ranges. Additionally, a controller is included in the device. The controller is configured to receive data extents addressed by a first LBA and a logical block count. The controller is also configured to identify at least one separately managed LBA range of the plurality of separately managed LBA ranges in the at least one cache memory based on LBAs associated with at least some of the received data extents. The controller stores the at least some of the received data extents in substantially monotonically increasing LBA order in at least one physical storage location, of the at least one cache memory, assigned to the identified at least one LBA range. | 04-16-2015 |
20150143039 | Restoring Virtualized GCU State Information - Method and apparatus for managing a memory, such as but not limited to a flash memory. In accordance with some embodiments, initial state information is stored which identifies an actual state of a garbage collection unit (GCU) of a memory during a normal operational mode. During a restoration mode after a memory power cycle event, a virtualized state of the GCU is determined responsive to the initial state information and to data read from the GCU. The memory is transitioned from the restoration mode to the normal operational mode once the virtualized state for the GCU is determined. | 05-21-2015 |
20150234741 | Command Execution Using Existing Address Information - Method and apparatus for managing data in a memory, such as a flash memory. In accordance with some embodiments, a memory module has a plurality of solid-state non-volatile memory cells. A controller communicates a first command having address information and a first operation code. The first operation code identifies a first action to be taken by the memory module in relation to the address information. The controller subsequently communicates a second command having a second operation code without corresponding address information. The memory module takes a second action identified by the second command using the address information from the first command. | 08-20-2015 |