Preemptive decompression scheduling for a NAND storage device

US10817224B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-10817224-B2
Application numberUS-201615191400-A
CountryUS
Kind codeB2
Filing dateJun 23, 2016
Priority dateJun 23, 2016
Publication dateOct 27, 2020
Grant dateOct 27, 2020

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

Systems, methods, and computer programs are disclosed for scheduling decompression of an application from flash storage. One embodiment of a system comprises a flash memory device and a preemptive decompression scheduler component. The preemptive decompression scheduler component comprises logic configured to generate and store metadata defining one or more dependent objects associated with the compressed application in response to an application installer component installing a compressed application to the flash memory device. In response to a launch of the compressed application by an application launcher component, the preemptive decompression scheduler component determines from the stored metadata the one or more dependent objects associated with the compressed application to be launched. The preemptive decompression scheduler component preemptively schedules decompression of the one or more dependent objects based on the stored metadata.

First claim

Opening claim text (preview).

What is claimed is: 1. A method for scheduling decompression of application objects, the method comprising: initiating an installation of the application to a flash memory device; compressing one or more dependent objects associated with the application to form one or more dependent compressed objects, wherein the one or more dependent objects comprise files that the application depends on for execution, wherein the one or more dependent objects include at least one of a shared native executable library file, a shared executable object file, and a platform executable object file; storing the one or more dependent compressed objects in the flash memory device; during the installation of the application to the flash memory device, generating metadata for the application, the metadata identifying the one or more dependent compressed objects, the metadata comprising an application identifier and a priority value, the priority value determining an order for decompressing the one or more dependent compressed objects prior to launch of the application and prior to the launched application accessing the one or more dependent objects, each priority value that is assigned to a dependent compressed object is based on frequency of use by the application, each priority value of a dependent compress object being changeable when the frequency of use by the application of a dependent compressed object changes; storing the metadata in a decompression metadata table; and in response to a command to launch of the application: determining from the stored metadata the one or more dependent compressed objects associated with the application to be launched; preemptively scheduling decompression of the one or more dependent compressed objects based on the stored metadata comprising one or more application identifiers and one or more priority values; and decompressing the one or more dependent compressed objects based on the preemptively scheduled decompression as the application is being launched and before the application accesses the one or more dependent objects, rather than decompressing the one or more dependent compressed objects when the launched application first accesses the one or more dependent objects. 2. The method of claim 1 , wherein decompressing the one or more dependent compressed objects before the application accesses the one or more dependent objects further comprises: decompressing the one or more dependent compressed objects before an application launcher loads the dependent objects. 3. The method of claim 1 , wherein the one or more dependent objects comprises one or more of a dependent file, a dependent library, a shared library, and one or more size-constrained blocks. 4. The method of claim 1 , wherein the metadata further comprises a list of installed paths and filenames, and a plurality of block indices and sizes. 5. The method of claim 1 , wherein the flash memory device comprises NAND flash. 6. The method of claim 1 , further comprising: during execution of the application, determining one or more additional dependent objects; and updating the stored metadata with the one or more additional dependent objects. 7. The method of claim 1 , wherein the preemptively scheduling decompression of the one or more dependent compressed objects based on the stored metadata comprises: scheduling decompression of the one or more dependent compressed objects before a dynamic linker resolves one or more dependency associated with the one or more dependent objects. 8. A system for scheduling decompression of application objects, the system comprising: means for initiating an installation of the application to a flash memory device; means for compressing one or more dependent objects associated with the application to form one or more dependent compressed objects, wherein the one or more dependent objects comprise files that the application depends on for execution, wherein the one or more dependent objects include at least one of a shared native executable library file, a shared executable object file, and a platform executable object file; means for storing the one or more dependent compressed objects in the flash memory device; means for generating during the installation of the application to the flash memory device metadata for the application, the metadata identifying the one or more dependent compressed objects, the metadata comprising an application identifier and a priority value, the priority value determining an order for decompressing the one or more dependent compressed objects prior to launch of the application and prior to the launched application accessing the one or more dependent objects, each priority value that is assigned to a dependent compressed object is based on frequency of use by the application, each priority value of a dependent compress object being changeable when the frequency of use by the application of a dependent compressed object changes; means for storing the metadata in a decompression metadata table; and in response to a command to launch of the application: determining from the stored metadata the one or more dependent compressed objects associated with the application to be launched; preemptively scheduling decompression of the one or more dependent compressed objects based on the stored metadata comprising one or more application identifiers and one or more priority values; and decompressing the one or more dependent compressed objects based on the preemptively scheduled decompression as the application is being launched and before the application accesses the one or more dependent objects, rather than decompressing the one or more dependent compressed objects when the launched application first accesses the one or more dependent objects. 9. The system of claim 8 , further comprising: means for decompressing the one or more dependent compressed objects before an application launcher loads the dependent objects. 10. The system of claim 9 , wherein the means for decompressing the one or more dependent compressed objects comprises one of a central processing unit (CPU) and a compression co-processor with a dedication random access memory (RAM). 11. The system of claim 9 , wherein the one or more dependent objects comprises one or more of a dependent file, a dependent library, a shared library, and one or more size-constrained blocks. 12. The system of claim 8 , wherein the metadata further comprises a list of installed paths and filenames. 13. The system of claim 8 , wherein the flash memory device comprises NAND flash. 14. The system of claim 8 , further comprising: means for determining one or more additional dependent objects during execution of the application; and means for updating the stored metadata with the one or more additional dependent objects. 15. The system of claim 8 , wherein the means for preemptively scheduling decompression of the one or more dependent compressed objects based on the stored metadata comprises: means for scheduling decompression of the one or more dependent compressed objects before a dynamic linker resolves one or more dependency associated with the one or more dependent objects. 16. A computer program embodied in a memory and executable by a processor for scheduling decompression of application objects, the computer program comprising logic configured to: initiate an installation of the application to a flash memory device; compress one or more dependent objects associated with the application to form one or more dependent compressed objects, wherein the one or more dependent objects comprise files tha

Assignees

Inventors

Classifications

  • Preparing or optimising for loading · CPC title

  • management of metadata or control data · CPC title

  • Dynamic linking or loading; Link editing at or after load time, e.g. Java class loading · CPC title

  • Compressed data · CPC title

  • Configuring for program initiating, e.g. using registry, configuration files · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US10817224B2 cover?
Systems, methods, and computer programs are disclosed for scheduling decompression of an application from flash storage. One embodiment of a system comprises a flash memory device and a preemptive decompression scheduler component. The preemptive decompression scheduler component comprises logic configured to generate and store metadata defining one or more dependent objects associated with the…
Who is the assignee on this patent?
Qualcomm Inc
What technology area does this patent fall under?
Primary CPC classification G06F9/44578. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Oct 27 2020 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 2 related publications on this page (citations in our corpus or others sharing the same primary CPC).