Patent application number | Description | Published |
20090070757 | METHODS, SYSTEMS AND COMPUTER PRODUCTS FOR A DYNAMIC REPOSITORY - A software development service offering of generating and installing software applications packages on computer systems running a set of operating systems including LINUX and UNIX operating systems, by creating a dynamic repository; populating a plurality software packages; running a tool that creates a set of index files, wherein the set of index files includes a menu of the plurality of software packages, wherein each software package in the plurality of software packages contains a set of contents; determining whether a software package is included in a menu of the plurality of software packages; and delivering to a client system the software package requested in a selection request, or delivering to the client system an other software package, when the software package is not included in the menu of the plurality of software packages. | 03-12-2009 |
20090249291 | Method To Transfer Annotation Across Versions of the Data - A method, apparatus, and article are provided for managing migration of annotations between versions of source code. Annotations associated with patterns of source code are identified. A comparison of the modified source code is conducted in conjunction with the identified annotations in a prior version of the source code to determine if the annotations may be migrated to any portions of the modified source code. The comparison includes an exact match and a partial match. With respect to the partial match, a threshold value is employed to define the parameters of a partial match. All annotations that are determine to be an exact match or a partial match are automatically migrated to a location in the modified source code determine to match within the threshold value. | 10-01-2009 |
20090254883 | METADATA-INTEGRATED DEBUGGER - A method, system and computer program product for software debugging using annotation metadata. A set of metadata comprising source code annotation information for a software program is maintained, together with data/metadata relationships between individual units of the metadata and individual units of the source code. A software debugging point is set that is associated with debugging point metadata comprising one or more units the metadata. A debugging action is performed when execution of the software program reaches said debugging point. | 10-08-2009 |
20100037094 | Application Failure Recovery - A method, apparatus, and article of manufacture to dynamically address and resolve an improper shut-down of an application. Internal state data of the application is stored in persistent memory. New internal state data is dynamically created and authenticated following an improper shut-down of the application. Responsive to the authentication, the application is re-started with the authenticated new internal state data, without being subject to an immediate improper shut-down. | 02-11-2010 |
20100185652 | Multi-Dimensional Resource Fallback - A method, system, and article of manufacture are provided for locating a resource in a data structure hierarchy. Data is stored in a hierarchy, such as an objected oriented hierarchy. For each encountered resource that requires data from the hierarchy, identifier and level information is extracted for that resource. A set of resource fallback rules are followed to traverse the hierarchy and to locate a corresponding data item for the subject resource in the hierarchy. | 07-22-2010 |
20110185401 | REAL-TIME ADJUSTMENTS TO AUTHENTICATION CONDITIONS - Embodiments of the invention provide for adjusting authentication conditions in real-time. A graph-theoretic data structure is dynamically constructing, having nodes corresponding to received valid and invalid authentication credentials used in attempts to access a system. Based on the graph-theoretic data structure, embodiments compute a probability of an invalid credential being an authentication attempt by a particular type of user. If the probability is beyond a threshold probability, embodiments trigger a security event is to adjust an authentication condition of the system, e.g., to increase or decrease a maximum permissible number of failed login attempts within a certain period of time. | 07-28-2011 |
20130007609 | CONSTRAINT BASED READING RECOMMENDATION - Systems, methods and computer program products may provide a constraint based reading recommendation on a computer. A method for generating a constraint based reading recommendation may include receiving an indication from a user indicating a desire to read a text item and determining a text item constraint including at least one of a time window constraint and an environmental constraint. The method may further include generating one or more approved text items in response to the text item constraint, the one or more approved text items including a recommended text item and displaying the recommended text item to the user. | 01-03-2013 |
20130036400 | PRE-MERGE CONFLICT AVOIDANCE - Methods, systems, and computer program products may provide pre-merge conflict avoidance in a revision-control system. A pre-merge conflict avoidance method may include identifying by a computer system a portion of interest of a revision-controlled base source code stored in a source-code repository, the base source code being developed by a plurality of developers. The computer system may determine whether at least one of the plurality of developers has made a change to a portion of a first copy of the base source code corresponding to the portion of interest prior to commitment of the first copy of the base source code to the source-code repository. In response to a determination that the at least one developer has made a change to the portion of interest, a notification may be produced about the change to the portion of interest by the at least one developer. | 02-07-2013 |
20130047137 | COMPUTER SYSTEM, PROGRAM, AND METHOD FOR COMPARING COMPONENT WEIGHTS BETWEEN BUILDS - A computer system, program, or method may provide for quantifying changes in an individual component among a plurality of components in a software development environment where the components are incorporated in a build. This may include calculating a baseline weight of the individual component prior to a change; effecting, in the software development environment, the change to the individual component; calculating a modified weight of the individual component after the change; determining a threshold for a difference between the baseline weight and the modified weight of the individual component; calculating the difference between the baseline weight and the modified weight of the individual component; and providing on the software development computer a notification if the difference exceeds the threshold. The weights of the individual component may use data such as a count of other components required by the individual component, an install size, a runtime memory usage, a depth of a dependency tree, a component license type, a component category for memory location, a component code type, and/or other types of data. | 02-21-2013 |
20140195941 | MANAGING DISPLAY ON A COMPUTING SYSTEM - A system and a computer program product displays information associated with one or more desired contexts on a computing system. The disclosure enables defining of the one or more desired contexts. One or more active applications on the computing system are tracked and filtered based upon the one or more desired contexts. Information associated with the one or more desired contexts is displayed, and information not associated with the one or more desired contexts is concealed. | 07-10-2014 |
20140195942 | MANAGING DISPLAY ON A COMPUTER SYSTEM - A method, a system and a computer program product displays information associated with one or more desired contexts on a computing system. The disclosure enables defining of the one or more desired contexts. One or more active applications on the computing system are tracked and filtered based upon the one or more desired contexts. Information associated with the one or more desired contexts is displayed, and information not associated with the one or more desired contexts is concealed. | 07-10-2014 |
20140237448 | BI-DIRECTIONAL LINKING OF PRODUCT BUILD INFORMATION - Software product build information is bi-directionally linked. At least a first build instance of the software product is built and the first build instance is published by a supplier build repository. Responsive to an entity who is not the supplier indicating a use of the first build instance in a client product, build information relating to the use of the first build instance in the client product is received. The build information relating to the use of the first build instance in the client product is published by the supplier build repository. | 08-21-2014 |
Patent application number | Description | Published |
20090112949 | COMPRESSED STORAGE MANAGEMENT - In accordance with one or more aspects, compressed storage management in a system includes determining which of multiple data units stored in an uncompressed portion of the storage resource are to be compressed and stored in a compressed portion of the storage resource. The management can further include returning one or more regions of the compressed portion for use in the uncompressed portion in response to storage resource pressure in the system, as well as compacting regions in the compressed portion to fill empty gaps in the compressed portion. | 04-30-2009 |
20090150611 | MANAGEMENT OF EXTERNAL MEMORY FUNCTIONING AS VIRTUAL CACHE - A method and apparatus for managing the caching of data on an auxiliary memory of a computer. Pages of data may be cached on an auxiliary memory, such as a flash memory, at a virtual level using an identifier that does not involve a physical address of the pages on a memory. Pages may be cached on auxiliary memory that may be removable from the computer, e.g., by unplugging the memory from the computer. Page data may be encrypted and/or compressed on the auxiliary memory. An authentication indicator may be used to verify the accuracy of cached data in the case of an interrupted connection to the auxiliary memory, e.g., as a result of computer power down, hibernation, removal of the memory from the computer, etc. | 06-11-2009 |
20090198883 | DATA COPY MANAGEMENT FOR FASTER READS - Multiple copy sets of data are maintained on one or more storage devices. Each copy set includes at least some of the same data units as other sets. Different sets optionally have data units stored in different orders on the storage device(s). A particular one of the sets of data is selected as the set to be accessed in response to detecting a particular scenario. | 08-06-2009 |
20100070701 | MANAGING CACHE DATA AND METADATA - Embodiments of the invention provide techniques for ensuring that the contents of a non-volatile memory device may be relied upon as accurately reflecting data stored on disk storage across a power transition such as a reboot. For example, some embodiments of the invention provide techniques for determining whether the cache contents and/or or disk contents are modified during a power transition, causing cache contents to no longer accurately reflect data stored in disk storage. Further, some embodiments provide techniques for managing cache metadata during normal (“steady state”) operations and across power transitions, ensuring that cache metadata may be efficiently accessed and reliably saved and restored across power transitions. | 03-18-2010 |
20100070747 | MANAGING CACHE DATA AND METADATA - Embodiments of the invention provide techniques for managing cache metadata providing a mapping between addresses on a storage medium (e.g., disk storage) and corresponding addresses on a cache device at data items are stored. In some embodiments, cache metadata may be stored in a hierarchical data structure comprising a plurality of hierarchy levels. Only a subset of the plurality of hierarchy levels may be loaded to memory, thereby reducing the memory “footprint” of cache metadata and expediting the process of restoring the cache metadata during startup operations. Startup may be further expedited by using cache metadata to perform operations associated with reboot. Thereafter, as requests to read data items on the storage medium are processed using cache metadata to identify addresses at which the data items are stored in cache, the identified addresses may be stored in memory. When the computer is later shut down, instead of having to transfer the entirety of the cache metadata from memory to storage, only the subset of the plurality of hierarchy levels and/or the identified addresses previously loaded to memory may be transferred (e.g., to the cache device), thereby expediting the shutdown of the computer. | 03-18-2010 |
20110113432 | COMPRESSED STORAGE MANAGEMENT - Compressed storage management includes assigning a selection priority and a priority level to multiple data units stored in an uncompressed portion of a storage resource. The management can further include compressing data units and storing the compressed data units in a compressed portion of the storage resource. The data units in the compressed portion are stored in regions, which each store data units having the same selection priority or the same selection priority level. | 05-12-2011 |
20110271070 | MEMORY USAGE SCANNING - A memory scanning system may scan memory objects to determine usage frequency by scanning each memory object using a mapping of the processes stored in memory. The scanning may be performed multiple times to generate a usage history for each page or unit of memory. In some cases, scanning may be performed at different frequencies to determine multiple classifications of usage. The mapping may create a detailed topology of memory usage, including multiple classifications of access frequency, as well as several other classifications. Based on the topology, the objects in memory may be copied to another storage medium or optimized for performance or power consumption. | 11-03-2011 |
20110314202 | MANAGING CACHE DATA AND METADATA - Embodiments of the invention provide techniques for managing cache metadata providing a mapping between addresses on a storage medium (e.g., disk storage) and corresponding addresses on a cache device at data items are stored. In some embodiments, cache metadata may be stored in a hierarchical data structure comprising a plurality of hierarchy levels. When a reboot of the computer is initiated, only a subset of the plurality of hierarchy levels may be loaded to memory, thereby expediting the process of restoring the cache metadata and thus startup operations. Startup may be further expedited by using cache metadata to perform operations associated with reboot. Thereafter, as requests to read data items on the storage medium are processed using cache metadata to identify addresses at which the data items are stored in cache, the identified addresses may be stored in memory. When the computer is later shut down, instead of having to transfer the entirety of the cache metadata from memory to storage, only the subset of the plurality of hierarchy levels and/or the identified addresses previously loaded to memory may be transferred (e.g., to the cache device), thereby expediting the shutdown of the computer. | 12-22-2011 |
20120144177 | FAST COMPUTER STARTUP - Fast computer startup is provided by, upon receipt of a shutdown command, recording state information representing a target state. In this target state, the computing device may have closed all user sessions, such that no user state information is included in the target state. However, the operating system may still be executing. In response to a command to startup the computer, this target state may be quickly reestablished from the recorded target state information. Portions of a startup sequence may be performed to complete the startup process, including establishing user state. To protect user expectations despite changes in response to a shutdown command, creation and use of the file holding the recorded state information may be conditional on dynamically determined events. Also, user and programmatic interfaces may provide options to override creation or use of the recorded state information. | 06-07-2012 |
20120144178 | FAST COMPUTER STARTUP - Fast computer startup is provided by, upon receipt of a shutdown command, recording state information representing a target state. In this target state, the computing device may have closed all user sessions, such that no user state information is included in the target state. However, the operating system may still be executing. In response to a command to startup the computer, this target state may be quickly reestablished from the recorded target state information. Portions of a startup sequence may be performed to complete the startup process, including establishing user state. To protect user expectations despite changes in response to a shutdown command, creation and use of the file holding the recorded state information may be conditional on dynamically determined events. Also, user and programmatic interfaces may provide options to override creation or use of the recorded state information. | 06-07-2012 |
20120144179 | FAST COMPUTER STARTUP - Fast computer startup is provided by, upon receipt of a shutdown command, recording state information representing a target state. In this target state, the computing device may have closed all user sessions, such that no user state information is included in the target state. However, the operating system may still be executing. In response to a command to startup the computer, this target state may be quickly reestablished from the recorded target state information. Portions of a startup sequence may be performed to complete the startup process, including establishing user state. To protect user expectations despite changes in response to a shutdown command, creation and use of the file holding the recorded state information may be conditional on dynamically determined events. Also, user and programmatic interfaces may provide options to override creation or use of the recorded state information. | 06-07-2012 |
20120166719 | DATA COPY MANAGEMENT FOR FASTER READS - Multiple copy sets of data are maintained on one or more storage devices. Each copy set includes at least some of the same data units as other sets. Different sets optionally have data units stored in different orders on the storage device(s). A particular one of the sets of data is selected as the set to be accessed in response to detecting a particular scenario. | 06-28-2012 |
20120173824 | MANAGING CACHE DATA AND METADATA - Embodiments of the invention provide techniques for managing cache metadata providing a mapping between addresses on a storage medium (e.g., disk storage) and corresponding addresses on a cache device at which data items are stored. In some embodiments, cache metadata may be stored in a hierarchical data structure comprising a plurality of hierarchy levels. When a reboot of the computer is initiated, only a subset of the plurality of hierarchy levels may be loaded to memory, thereby expediting the process of restoring the cache metadata and thus startup operations. Startup may be further expedited by using cache metadata to perform operations associated with reboot. | 07-05-2012 |
20120246436 | COMBINING MEMORY PAGES HAVING IDENTICAL CONTENT - In a device having a memory accessed as multiple pages, two or more pages of the multiple pages having identical content are identified. While the two or more pages are being identified, other processes running in the device are allowed to use the two or more pages, including being allowed to change cache attributes of each of the two or more pages. The two or more pages are combined into a single combined page (e.g., a newly allocated page of the multiple pages), and a process page record having multiple entries pointing to the multiple pages is updated so that entries that previously pointed to one of the two or more pages instead point to the single page. | 09-27-2012 |
20130061167 | Process Management Views - Two different process management views can be displayed, and a user can request to switch between the two views. The user can select a process in either view and have the selected process terminated. One view is a simplified view that identifies processes and whether they are non-responsive. The other view is an expanded view that identifies processes and the amount of various system resources used by each of those processes. Various additional information can be displayed in the expanded view, such as identifiers of various windows, tabs, and/or services associated with each of the processes. | 03-07-2013 |
20130132681 | TEMPORAL STANDBY LIST - In one embodiment, a memory management system temporarily maintains a memory page at an artificially high priority level | 05-23-2013 |
20130159662 | Working Set Swapping Using a Sequentially Ordered Swap File - Techniques described enable efficient swapping of memory pages to and from a working set of pages for a process through the use of large writes and reads of pages to and from sequentially ordered locations in secondary storage. When writing pages from a working set of a process into secondary storage, the pages may be written into reserved, contiguous locations in a dedicated swap file according to a virtual address order or other order. Such writing into sequentially ordered locations enables reading in of clusters of pages in large, sequential blocks of memory, providing for more efficient read operations to return pages to physical memory. | 06-20-2013 |
20130311734 | DATA COPY MANAGEMENT FOR FASTER READS - Multiple copy sets of data are maintained on one or more storage devices. Each copy set includes at least some of the same data units as other sets. Different sets optionally have data units stored in different orders on the storage device(s). A particular one of the sets of data is selected as the set to be accessed in response to detecting a particular scenario. | 11-21-2013 |
20130346734 | FAST COMPUTER STARTUP - Fast computer startup is provided by, upon receipt of a shutdown command, recording state information representing a target state. In this target state, the computing device may have closed all user sessions, such that no user state information is included in the target state. However, the operating system may still be executing. In response to a command to startup the computer, this target state may be quickly reestablished from the recorded target state information. Portions of a startup sequence may be performed to complete the startup process, including establishing user state. To protect user expectations despite changes in response to a shutdown command, creation and use of the file holding the recorded state information may be conditional on dynamically determined events. Also, user and programmatic interfaces may provide options to override creation or use of the recorded state information. | 12-26-2013 |
20140075126 | MANAGEMENT OF EXTERNAL MEMORY FUNCTIONING AS VIRTUAL CACHE - A method and apparatus for managing the caching of data on an auxiliary memory of a computer. Pages of data may be cached on an auxiliary memory, such as a flash memory, at a virtual level using an identifier that does not involve a physical address of the pages on a memory. Pages may be cached on auxiliary memory that may be removable from the computer, e.g., by unplugging the memory from the computer. Page data may be encrypted and/or compressed on the auxiliary memory. An authentication indicator may be used to verify the accuracy of cached data in the case of an interrupted connection to the auxiliary memory, e.g., as a result of computer power down, hibernation, removal of the memory from the computer, etc. | 03-13-2014 |
20140331035 | FAST COMPUTER STARTUP - Fast computer startup is provided by, upon receipt of a shutdown command, recording state information representing a target state. In this target state, the computing device may have closed all user sessions, such that no user state information is included in the target state. However, the operating system may still be executing. In response to a command to startup the computer, this target state may be quickly reestablished from the recorded target state information. Portions of a startup sequence may be performed to complete the startup process, including establishing user state. To protect user expectations despite changes in response to a shutdown command, creation and use of the file holding the recorded state information may be conditional on dynamically determined events. Also, user and programmatic interfaces may provide options to override creation or use of the recorded state information. | 11-06-2014 |
20140359632 | EFFICIENT PRIORITY-AWARE THREAD SCHEDULING - A priority-based scheduling and execution of threads may enable the completion of higher-priority tasks above lower-priority tasks. Occasionally, a high-priority thread may request a resource that has already been reserved by a lower-priority thread, and the higher-priority thread may be blocked until the lower-priority thread relinquishes the reservation. Such prioritization may be acceptable if the lower-priority thread is able to execute comparatively unimpeded, but in some scenarios, the lower-priority thread may execute at a lower priority than a third thread that also has a lower priority than the high-priority thread. In this scenario, the third thread is effectively but incorrectly prioritized above the high-priority thread. Instead, upon detecting this scenario, the device may temporarily elevate the priority of the lower-priority thread over the priority of the third thread until the lower-priority thread relinquishes the resource, thereby reducing the waiting period of the high-priority thread for the requested resource. | 12-04-2014 |
20150234666 | FAST COMPUTER STARTUP - Fast computer startup is provided by, upon receipt of a shutdown command, recording state information representing a target state. In this target state, the computing device may have closed all user sessions, such that no user state information is included in the target state. However, the operating system may still be executing. In response to a command to startup the computer, this target state may be quickly reestablished from the recorded target state information. Portions of a startup sequence may be performed to complete the startup process, including establishing user state. To protect user expectations despite changes in response to a shutdown command, creation and use of the file holding the recorded state information may be conditional on dynamically determined events. Also, user and programmatic interfaces may provide options to override creation or use of the recorded state information. | 08-20-2015 |
20150242321 | METHOD AND SYSTEM FOR ENSURING RELIABILITY OF CACHE DATA AND METADATA SUBSEQUENT TO A REBOOT - To ensure that the contents of a non-volatile memory device cache may be relied upon as accurately reflecting data stored on disk storage, it may be determined whether the cache contents and/or disk contents are modified during a power transition, causing cache contents to no longer accurately reflect data stored in disk storage. The cache device may be removable from the computer, and unexpected removal of the cache device may cause cache contents to no longer accurately reflect data stored in disk storage. Cache metadata may be managed during normal operations and across power transitions, ensuring that cache metadata may be efficiently accessed and reliably saved and restored across power transitions. A state of a log used by a file system may be determined prior to and subsequent to reboot of an operating system in order to determine whether data stored on a cache device may be reliably used. | 08-27-2015 |
20150324299 | TEMPORAL STANDBY LIST - In one embodiment, a memory management system temporarily maintains a memory page at an artificially high priority level. The memory management system may assign an initial priority level to a memory page in a page priority list. The memory management system may change the memory page to a target priority level in the page priority list after a protection period has expired. | 11-12-2015 |
Patent application number | Description | Published |
20110225342 | OPPORTUNISTIC PAGE CACHING FOR VIRTUALIZED SERVERS - A system described herein includes a receiver component that receives an indication that at least one page in virtual memory is free and the at least one page in virtual memory is classified as short-lived memory, wherein the virtual memory is accessible to at least one virtual machine executing on a computing device. The system also includes a cache updater component that dynamically updates a cache to include the at least one page, wherein the cache is accessible to the at least one virtual machine. | 09-15-2011 |
20120221843 | MULTI-PHASE RESUME FROM HIBERNATE - Resume of a computing device from hibernation may be performed in multiple phases. Each phase may partially restore a state of the computing device to an operational state and may establish an environment in which another phase of the resume is performed. The hibernation information may be partitioned to store separately data to be used at each resume phase. The information may be stored in a compressed form. In a first phase, a boot-level resume loader may restore a portion of the operating system based on a portion of the hibernation information. The restored portion may be used in a second phase to retrieve hibernation information from another portion through the operating system (OS). Multiple processors supported by the OS may read and decompress the hibernation information that is then moved back to operational memory. The operating system may support asynchronous disk input/output or other functions that accelerate the resume process. | 08-30-2012 |
20120221875 | MULTI-PHASE RESUME FROM HIBERNATE - Resume of a computing device from hibernation may be performed in multiple phases. Each phase may partially restore a state of the computing device to an operational state and may establish an environment in which another phase of the resume is performed. The hibernation information may be partitioned to store separately data to be used at each resume phase. The information may be stored in a compressed form. In a first phase, a boot-level resume loader may restore a portion of the operating system based on a portion of the hibernation information. The restored portion may be used in a second phase to retrieve hibernation information from another portion through the operating system (OS). Multiple processors supported by the OS may read and decompress the hibernation information that is then moved back to operational memory. The operating system may support asynchronous disk input/output or other functions that accelerate the resume process. | 08-30-2012 |
20120233438 | PAGEFILE RESERVATIONS - A system and method for maintaining a pagefile of a computer system using a technique of reserving portions of the pagefile for related memory pages. Pages near one another in a virtual memory space often store related information and it is therefore beneficial to ensure that they are stored near each other in the pagefile. This increases the speed of reading data out of the pagefile because total seek time of a disk drive that stores the pagefile may decrease when adjacent pages in a virtual memory address space are read back from the disk drive. By implementing a reservation system that allows related pages to be stored adjacent to one another, the efficiency of memory management to of the computer system is increased. | 09-13-2012 |
20140164751 | MULTI-PHASE RESUME FROM HIBERNATE - Resume of a computing device from hibernation may be performed in multiple phases. Each phase may partially restore a state of the computing device to an operational state and may establish an environment in which another phase of the resume is performed. The hibernation information may be partitioned to store separately data to be used at each resume phase. The information may be stored in a compressed form. In a first phase, a boot-level resume loader may restore a portion of the operating system based on a portion of the hibernation information. The restored portion may be used in a second phase to retrieve hibernation information from another portion through the operating system (OS). Multiple processors supported by the OS may read and decompress the hibernation information that is then moved back to operational memory. The operating system may support asynchronous disk input/output or other functions that accelerate the resume process. | 06-12-2014 |
20140281305 | Memory Image Capture via Memory Write from a Running System - Techniques for memory image capture via memory write from a running system are described. In at least some embodiments, a request is received for an image of a portion of memory. Images of memory can be used for a variety of purposes, such as diagnosing and repairing error conditions for hardware and/or software, detecting unwanted and/or malicious processes (e.g., malware), general systems maintenance, and so forth. According to one or more embodiments, various techniques can be implemented to capture an image of a portion of memory. For example, an intermediate write to memory can be employed to write the image of the portion of memory to a memory buffer. Alternatively or additionally, an image of a portion of memory can be captured directly to storage. | 09-18-2014 |
20140317317 | ASSIGNING PRIORITIES TO DATA FOR HYBRID DRIVES - A hybrid drive includes multiple parts: a performance part (e.g., a flash memory device) and a base part (e.g., a magnetic or other rotational disk drive). A drive access system, which is typically part of an operating system of a computing device, issues input/output (I/O) commands to the hybrid drive to store data to and retrieve data from the hybrid drive. The drive access system assigns, based on various available information, a priority level to groups of data identified by logical block addresses (LBAs). With each I/O command, the drive access system includes an indication of the priority level of the LBA(s) associated with the I/O command. The hybrid drive determines, based on the priority level indications received from the drive access system, which LBAs are stored on which part or parts of the hybrid drive. | 10-23-2014 |
20140325166 | POWER SAVING MODE HYBRID DRIVE ACCESS MANAGEMENT - A hybrid drive includes multiple parts: a performance part (e.g., a flash memory device) and a base part (e.g., a magnetic or other rotational disk drive). A drive access system, which is typically part of an operating system of a computing device, issues input/output (I/O) commands to the hybrid drive to store data to and retrieve data from the hybrid drive. The drive access system supports multiple priority levels and obtains priority levels for groups of data identified by logical block addresses (LBAs). The LBAs read while the device is operating in a power saving mode are assigned a priority level that is at least the lowest of the multiple priority levels supported by the device, increasing the likelihood that LBAs read while the device is operating in the power saving mode are stored in the performance part of the hybrid drive. | 10-30-2014 |
20140325169 | DIRTY DATA MANAGEMENT FOR HYBRID DRIVES - A hybrid drive includes multiple parts: a performance part (e.g., a flash memory device) and a base part (e.g., a hard disk drive). A drive access system, which is typically part of an operating system of a computing device, issues input/output (I/O) commands to the hybrid drive to store data to and retrieve data from the hybrid drive. Some data can be stored in one part but not the other, and this data can be synchronized with (e.g., copied to) the other part at various times. The drive access system provides indications to the hybrid drive of when to synchronize data in one part with the other part. These indications are made so that potential interference with use of the device by the user and/or power saving modes of the device due to the synchronization is reduced. | 10-30-2014 |
20140372715 | PAGE-BASED COMPRESSED STORAGE MANAGEMENT - A memory is made up of multiple pages, and different pages can have different priority levels. A set of memory pages having at least similar priority levels are identified and compressed into an additional set of memory pages having at least similar priority levels. The additional set of memory pages are classified as being the same type of page as the set of memory pages that was compressed (e.g., as memory pages that can be repurposed). Thus, a particular set of memory pages can be compressed into a different set of memory pages of the same type and corresponding to at least similar priority levels. However, due to the compression, the quantity of memory pages into which the set of memory pages is compressed is reduced, thus increasing the amount of data that can be stored in the memory. | 12-18-2014 |
20150193147 | ASSIGNING PRIORITIES TO DATA FOR HYBRID DRIVES - A hybrid drive includes multiple parts: a performance part (e.g., a flash memory device) and a base part (e.g., a magnetic or other rotational disk drive). A drive access system, which is typically part of an operating system of a computing device, issues input/output (I/O) commands to the hybrid drive to store data to and retrieve data from the hybrid drive. The drive access system assigns, based on various available information, a priority level to groups of data identified by logical block addresses (LBAs). With each I/O command, the drive access system includes an indication of the priority level of the LBA(s) associated with the I/O command. The hybrid drive determines, based on the priority level indications received from the drive access system, which LBAs are stored on which part or parts of the hybrid drive. | 07-09-2015 |
20150242432 | Modified Memory Compression - A set of memory pages from a working set of a program process, such as at least some of the memory pages that have been modified, are compressed into a compressed store prior to being written to a page file, after which the memory pages can be repurposed by a memory manager. The compressed store is made up of multiple memory pages, and the compressed store memory pages can be repurposed by the memory manager after being written to the page file. Subsequent requests from the memory manager for memory pages that have been compressed into a compressed store are satisfied by accessing the compressed store memory pages (including retrieving the compressed store memory pages from the page file if written to the page file), decompressing the requested memory pages, and returning the requested memory pages to the memory manager. | 08-27-2015 |
20150269111 | ASYNCHRONOUSLY PREFETCHING SHARABLE MEMORY PAGES - When a process is swapped out of memory, a record of the sharable memory pages of the process is maintained. The sharable memory pages can then be repurposed. When the process is subsequently swapped back into memory, concurrently with the process running the sharable memory pages of the process are prefetched. If during this prefetching the process requests a memory page that is not currently in physical memory, a high priority I/O request is issued for that memory page. The high priority I/O request is placed at the front of an I/O queue, so the high priority I/O request is processed before the pending prefetch requests. | 09-24-2015 |