CN102257497A - Download management of discardable files - Google Patents

Download management of discardable files Download PDF

Info

Publication number
CN102257497A
CN102257497A CN2010800035852A CN201080003585A CN102257497A CN 102257497 A CN102257497 A CN 102257497A CN 2010800035852 A CN2010800035852 A CN 2010800035852A CN 201080003585 A CN201080003585 A CN 201080003585A CN 102257497 A CN102257497 A CN 102257497A
Authority
CN
China
Prior art keywords
file
memory device
discard
storage
download
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN2010800035852A
Other languages
Chinese (zh)
Other versions
CN102257497B (en
Inventor
J.G.哈恩
D.科伦
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Western data Israel Limited
Original Assignee
SanDisk IL Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by SanDisk IL Ltd filed Critical SanDisk IL Ltd
Publication of CN102257497A publication Critical patent/CN102257497A/en
Application granted granted Critical
Publication of CN102257497B publication Critical patent/CN102257497B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/957Browsing optimisation, e.g. caching or content distillation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/17Details of further file system functions
    • G06F16/1737Details of further file system functions for reducing power consumption or coping with limited storage space, e.g. in mobile devices

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Quality & Reliability (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

A request is received to store a file in a storage area of a storage device, the file being discardable and having associated therewith data in a data structure associated with the storage device. The file is marked as a discardable file. In some implementations a file system structure of the data structure is marked to indicate that the file is a discardable file, where in other implementations, the file itself is marked to indicate that the file is a discardable file. A download manager determines a download condition associated with the request to store the discardable file in the storage area of the storage device and determines whether to delay a download to the storage device of the discardable file based on the determined download condition. The download manager manages the download of the discardable file to the storage device based on the determination of whether to delay the download of the discardable file to the storage device.

Description

Can discard the download management of file
Prioity claim
The application requires the U.S. Provisional Patent Application No.61/159 in submission on March 10th, 2009,034 (pending trial) and the U.S. Provisional Patent Application No.61/259 that submits on November 9th, 2009, and the benefit of 418 (pending trials), its each integral body is cited and invests this.
Technical field
The present invention relates generally to memory device, and relate more specifically to manage the method and apparatus of the file in memory device.
Background technology
Increased the use of non-volatile memory device in recent years apace because they portable and they have little physical size and big memory capacity.Memory device has appearred in various designs.Some memory devices are regarded as " embedded ", mean that they can not and be not intended to be removed by the main process equipment that the user works from them.Other memory devices are removable, this means that the user can remove them to another equipment from a main process equipment (for example, from digital camera), or replace a memory device with another memory device.
The digital content of storing in memory device can derive from the main frame of memory device, and for example, the main frame of digital camera, a kind of example is caught image and they are translated as corresponding numerical data.Then, the data camera is stored numerical data in the memory device of therewith operation.The digital content of storing in memory device can also derive from remote source: it can pass through data network (for example, the Internet) or communication network (for example, cellular phone network) sends to the main frame of memory device, and downloads to memory device by this main frame then.Remote source can be for example ISP or content provider.ISP and be referred to as " publisher (publishers) " below the content provider.
Along with the memory device in the mobile handset increases on size and capacity, the new scene that content is obtained and consumed is just becoming feasible.Usually, can use hand-held set to consume from the film of the downloaded of operator control and music, such as using and from side dress (side-loaded) in the market of the iTunes service of apple (Apple) such as the source of the slotMedia card of SanDisk.But in all these were used, the user must search him in earlier stage and want the content of consuming, and indicates and authorize obtaining of this content, obtains this content, consumes it then.This reduces the ability of the content that the content owner is provided for consuming at any time and user and sees the thing that he obtains immediately and its ability of need not waiting for downloads.
The quantity that product is dominated people (initiatives) has been innovated to the user and has been written into content in advance, but they suffer a common defective: the user must sacrifice its oneself memory capacity and come memory contents, but can not visit this content after buying it.The user that must buy this performance does not want usually to see and is assigned to very most of that they can not the actual content of using.
The user of memory device can be intended to media content download and advertisement by ask media content or advertisement from the publisher.But, sometimes, want to improve they publisher of income and send content, and do not inquire their permission to the user, and sometimes in addition the user do not know that this content has been downloaded to their memory device.The content that the publisher does not allow them learn to user's transmission is referred to herein as " spontaneous content ".Usually, unsolicited content intention is by user's consumption after payment or after publisher's expense is paid in trust.
By downloading unsolicited content to user's memory device, the publisher wish the user with this unsolicited content of final consumption with the acquisition expense, increase their income thus.Store unsolicited content and do not require that the publisher that the user learns wishes that this user will consume these contents and come the acquisition expense on memory device, this publisher's practice is known as " prediction consignment (predictive consignment) " in the media releasing field.But unsolicited content can still be stored in the memory device, and does not need the user of memory device to learn its existence or want to consume it.The unsolicited content of storage has reduced available (that is, the free time) user storage space on memory device in memory device, and this is not expect from user's angle.The user can find in memory device, exist space still less to be used for user oneself content (for example, music file), because other people (promptly, some publishers) occupied the part storage space on the memory device, or the user may regain the storage space that (reclaim) so obtains by the unsolicited content of deletion.
A part solution of this problem of the part storage space that occupies the user comprised stop the visit of publisher, such as by stoping publisher's website to memory device.This solution may be acceptable to the user, but its angle from the publisher is problematic, because the publisher will obtain sales volume still less and lose potential income source.Another part solution to this problem comprises to main frame content distributed (that is, stores content files in the memory device of these main frames), and remove this content when it becomes uncorrelated.In other words, the publisher who has produced this content removes the unsolicited content of being stored from memory device when this content becomes uncorrelated.If passed through the time that is used for its consumption, maybe when existing this user not consume its indication, unsolicited content is regarded as uncorrelated.
Therefore, occur the hand-held storer of management is not intelligently incurred loss so that the user freely uses their storer, still makes the content owner can push the needs of the new technology of content to hand-held set simultaneously.In other words, there are the needs that solve problem with unsolicited file.Particularly, when the publisher should be allowed to carrying out in its commercial process when memory device is downloaded unsolicited content, these are downloaded should have the effect that hinders in essence to user experience.
Summary of the invention
Therefore, to valuably can be at the unsolicited file of memory device stores, as long as in memory device, hold their required storage spaces and concerning user's file, do not need, and remove unsolicited file so that be the idle storage space of user file assurance minimum dimension from memory device.Various embodiment are designed to realize this file management, and its example is provided at this.
In order to address the above problem, it is can not discard or discardable that the file that the file of the storage in memory device maybe will be stored is marked as in the structure of the file system that is that memory device is associated.What the file of each mark was associated with it is discarded priority.The file that New Development is done business (that is, unsolicited file) only in memory device storage it not constriction store nargin safe in utilization, just be allowed in memory device, store, this is stored nargin safe in utilization and is reserved in outside the nargin of expectation and is used for user file.On the other hand, though user file they the storage constriction also be allowed to be stored in the memory device under the situation of the storage nargin safe in utilization beyond the desired width.But, in this case, by remove one or more desired width that file recovers storage security nargin of discarding from memory device.If can discard file is equal to or higher than in its discarded priority under the situation of (or, be lower than, as described here) predetermined discarded threshold value and removes from memory device.
Download manager is managed to the storage area download of memory device based on one or more download conditions can discard file, download manager can be the part of memory allocator in some embodiments, and download manager and memory allocator both may reside in main frame, memory device or both combinations.Be received in the request of storage file in the storage area of memory device, this document be discardable file and be associated with data structure that memory device is associated in data; In some embodiments, data structure can comprise the file system structure relevant with memory device.This document is marked as can discard file.In some embodiments, the file system structure of the data structure relevant with discarding file be labeled with the indication this document be to discard file.In other embodiments, file itself is marked as and can discards file.
The next storage in the storage area of memory device of the definite download condition relevant with this request of download manager can be discarded file, and download manager determines whether to postpone can discard file to the memory device download based on the download condition of determining.Download manager can be discarded determining to manage and can discarding the download of file to memory device of file based on whether postponing to download to memory device.In some embodiments, download manager can postpone can discard file to the memory device download, up to the satisfied parameter relevant with the download condition.Then, can comprise that the memory allocator of download manager is to discard file based on tab file, the management file discarded that storage is downloaded in the storage area of memory device.
Description of drawings
Illustrate various example embodiment in the accompanying drawings, it is not restrictive being intended to these examples.To understand, for illustrated simplification and removing, the element shown in the figure that below quotes not necessarily is painted as proportional.And it is suitable to be considered, and can repeat reference numerals indicate identical, corresponding or similar elements between accompanying drawing.
In the accompanying drawing:
Fig. 1 is the block scheme according to the storage system of example embodiment;
Fig. 2 is the block scheme according to the storage system of another example embodiment;
Fig. 3 is the block scheme according to the memory allocator of example embodiment;
Fig. 4 is the method that is used for management document according to example embodiment;
Fig. 5 is used for managing method in the storage of the file discarded of memory device according to example embodiment;
Fig. 6 is the method for one or more unsolicited files of file system that is used to be marked at FAT 32 structures that is used for according to example embodiment; Fig. 7 is the example directories zone related with FAT 32 epiphases;
Fig. 8 is FAT 32 tables according to example embodiment;
Fig. 9 is the NTFS table according to example embodiment;
Figure 10 is the logical image based on the file system of FAT according to example embodiment; And
Figure 11 has demonstrated according to the memory management method of the file of this operating mode.
The main FAT of Figure 12 a examples shown.
Figure 12 b examples shown can be discarded FAT.
Figure 13 is used to use main FAT and can discards the process flow diagram that FAT comes the method for managed storage device.
Figure 14 is used to use FAT and database to come the process flow diagram of the method for managed storage device.
Figure 15 is used to use FAT and position paper to come the process flow diagram of the method for managed storage device.
Figure 16 illustrates the example FAT that comprises bunch chain, wherein, forms the order of two or more bunches of this bunch chain and is upset.
Figure 17 illustrates example FAT and relevant position file, and wherein, FAT comprises the example FAT of bunch chain, wherein, form this bunch chain bunch in two or more orders upset.
Figure 18 is the process flow diagram that is used to use the method for FAT managed storage device, wherein, forms the order of two or more bunches of bunch chain and is upset.
Figure 19 is used for using conversion lock (conversion lock) to prevent from can discard file when discarding file conversion when realizing that main FAT opens with the file system that can discard FAT.
Figure 20 is shown in example bitmask (mask) user ID in the file system.
Figure 21 illustrates the client side component of intelligent buffer.
Figure 22 illustrates the file system structure that can discard file, as revising for intelligent buffer HD.
Figure 23 is the block scheme that is used for the big file manager that uses in intelligent buffer HD system.
Figure 24 describes the flow path switch that can discard file greatly.
Figure 25 is that diagram is come the process flow diagram of the method for treatment conversion request with big file manager.
Figure 26 describes the Matroska file structure as the example of the file that can be divided.
Figure 27 describes the Matroska file of division.
Figure 28 is used to manage process flow diagram from the method that can discard file to the storage area of memory device that download.
Embodiment
Following description provides the various details of example embodiment.But this description is not intended to limit the scope of claim, but various principle of the present invention has been described on the contrary and has put into practice its mode.
In order to solve unsolicited content and to problem, user file is given than the memory priority of alternative document, and stores nargin safe in utilization and kept to guarantee this right of priority." user file " is the user view storage of memory device or agreed the file that it is stored in memory device.For example, the user is regarded as user file to the music file of the memory device download of s/he.Asked or agree to store by the user, user file is regarded as " imploring (solicited) " file.
" alternative document " is referred to herein as " publisher's file " and " unsolicited (unsolicited) file "." publisher's file " is the file of storing in memory device, and the user does not ask it or learns it; At least a period of time does not also have.The user may not want to use unsolicited file.Untapped unsolicited file is tending towards being consumed in the expensive storage device on user's the memory device.Therefore, according to principle disclosed herein, this file have only storage they not constriction store nargin safe in utilization and just be allowed to be stored in the memory device.Present memory priority by keeping the idle storage space (that is, storing nargin safe in utilization) that to be preserved for following user's file to user file.Storing nargin safe in utilization must be kept so that need at any time to guarantee or can store user file when expecting in memory device.
If for some reasons, store the narrower of nargin ratio safe in utilization expectation, will remove one or more unsolicited files so that recover storage nargin safe in utilization from memory device.Keep storage nargin safe in utilization and guarantee to be used for the additional user file storing space, if this file is downloaded to memory device.At last, unsolicited file is marked as " discardable " in the structure of memory file system, and if desired, is removed after a while to regain (reclaim) and keep the required idle storage space of storage nargin safe in utilization at least.
Because the user uses various possibilities of discarding file can discard file and difference between another at one, therefore, according to one or more standards, such as the possibility of using file, the possible income that is associated with the use file, the size of file, the type of file, the position of file, the age of file etc., distribute discarded priority in advance each unsolicited file (that is, each can discard file).For example, can may come to determine to discard priority by income potential.According to another example, movie promos or advertisement will have the discarded right of priority higher than actual film, because the user dislikes seeing propaganda film and advertisement usually.According to another example, most probable will be assigned with minimum discarded priority by one or more files of discarding that the user uses, and this means that this file will be last (one or more) file that removes from memory device.In other words, the use possibility that can discard file is high more, and the rank of discarded priority that is assigned to this document is low more.Even if one or more file of discarding has been removed, the storage of expectation nargin safe in utilization is incomplete recovery also, will remove the additional file discarded from memory device, be resumed up to the storage nargin of expecting safe in utilization.
Briefly, realize being used to store and organize the method for computer documents such as the data structure of file system.File system comprises and is used to store, level ground tissue, manipulation, navigation, visit and extract data and the abstract data type implemented and the set of metadata.Abstract data type and metadata form " directory tree ", can visit, handle and start computer documents (also abbreviating " data file " or " file " as at this) by it." directory tree " generally includes root directory and optional sub-directory.Directory tree is stored in the file system as one or more " catalogue files ".The metadata that comprises in file system and the set of catalogue file are referred to herein as " file system structure ".Therefore, file system comprises data file and the file system structure that helps to visit, handle, upgrade, delete and start this data file.
File allocation table (" FAT ") is the file system framework of example.The FAT file system with comprise DR-DOS, OpenDOS, MS-DOS, Linux, the various operating systems of Windows etc. are used together.The file system of FAT structure is used centralized stores which storage area to be idle about or be assigned be stored in the table of information where go the memory device with each file.In order to limit the size of this table, to be called " bunch " the group of contiguous sector in the file allocation storage space.Because memory device develops, bunch maximum quantity increased and the quantity of the position that is used to identify bunch has increased.The version of FAT form derives from the quantity of epi-position: FAT 12 and uses 12; FAT 16 uses 16, and FAT 32 uses 32.
Another file system framework is known as New Technology File System (" NTFS ").At present, NTFS is Windows NT, comprises its version Windows 2000 after a while, Windows XP, Windows Server2003, the standard file system of Windows Server 2008 and Windows Vista.FAT32 and NTFS are can be to the example file system that memory device 100 provides.
Fig. 1 shows the storage area 110 that typical memory device 100. memory devices 100 comprise the various files of storage (for example, music file, video file etc.), and some in the various files can be user files, and other can be publisher's files.Memory device 100 also comprises the memory controller 120 via data and control line 130 managing storage areas 110.Memory controller 120 is also communicated by letter with main process equipment 140 via host interface 150.Main process equipment 140 can be specialized hardware or universal computing platform.
Storage area 110 can be a nand flash memory type for example.Memory controller 120, controls as " reading ", " writing " and " wiping " operation, loss balancing etc. and by control and the communicating by letter of main frame 140 by control example/from all data transmission of storage area 110 with go/from the data transmission of main process equipment 140.Storage area 110 can comprise for example user file and publisher file, only be allowed to the protected data that uses by authorization host equipment and only by the memory controller 120 inner secure datas that use.Main frame (for example main frame 140) is access storage areas territory 110 directly.That is to say that if for example main frame 140 requires or need be from the data of memory device 100, main frame 140 must be asked it from memory controller 120.In order to help the easy visit to the data file of storage in memory device 100, memory device 100 has been provided file system 160.
Storage area 110 is divided into three parts on function: user area 170, publisher zone 180 and idle storage space 190.User area 170 is storage spaces of wherein having stored in the storage area 110 of user file.Publisher zone 180 is storage spaces of wherein having stored in the storage area 110 of publisher's file.Idle storage space 190 is storage spaces of the sky in the storage area 110.Can use idle storage space 190 to keep user file or publisher's file.When storage in idle storage space 190 during user file, keep the storage space of user file from idle storage space 190, to deduct and add user area 170 to.Similarly, when storage in idle storage space 190 during user file, keep publisher's file storing space from idle storage space 190, to deduct and add publisher zone 180 to.If remove (promptly, deletion) user file or publisher's file from storage area 110, idle storage space is added to (it turns back to) idle storage space 190.
The size of idle storage space 190 allows her, then the user of memory device 100 can will be stored in the idle storage space 190 by 110. user files of downloading from main frame 140 download user files to storage area, and as previously discussed, keep the storage space of this document to deduct and to be added to user area 170. as mentioned above from the storage space 190 of free time, user file has and (for example is higher than other, the publisher) right of priority of file, and in order to guarantee this right of priority, the storage nargin safe in utilization of expectation is set up, and recover if desired, in mode described below.
Main frame 140 comprises that memory allocator 144 helps to recover idle storage space 190.Memory allocator 144 can be hardware, firmware, software or its combination.Usually, memory allocator 144 determines that the files (for example file 142) to main frame 140 communications are user file or publisher's file, and the therefore mark file (that is, as the file that can not discard or as discardable file) of communicating by letter then.
If memory allocator 114 is determined can not discard to the file (for example, file 142) of main frame 140 communications, for example, because the user is a user file, then memory allocator 144 is stored this document in the mode of routine in storage area 110.As mentioned above, maintenance can not be discarded the part that storage spaces in the storage area 100 of file will be added to user area 170 or user area 170.But if memory allocator 144 is determined can not discard to the file of main frame 140 communications, for example because it is publisher's file, then memory allocator 144 mark this document are as discardable.To understand, in some embodiments, for tab file as discardable, memory allocator 144 be marked in the file system 160 file system structure with the indication this document be to discard file.In other embodiments, for mark this document as discardable, memory allocator 144 tab files itself are as can discarding file.If idle storage space 190 is greater than the storage nargin safe in utilization of expectation, memory allocator 144 is the file discarded of storage mark in idle storage space 190 also, and as mentioned above, the idle storage space 190 interior storage spaces that maintenance can be discarded file deduct (promptly from idle storage space 190, idle storage space is deducted), and to 180 interpolations (this is added on to be known as in logic and can discards file 182) of publisher zone.
As mentioned above, the possibility that publisher's file can be used by the user may change between publisher's file and another, and this makes the publisher's file with minimum probability of use become to be used for first candidate who removes from storage area 110.Therefore, except tab file as that can not discard or discardable, can discard file be stored in the storage area 110 before, the time or afterwards memory allocator 144 can discard the discarded priority of file allocation to each.
By tab file as can not discard or as discardable, distribute discarded priority and by using the file system 160 (or its reflection) of memory device 100 by memory allocator 144, the quantity that memory allocator 144 " is learnt " user file in storage area 110 and publisher's file with and size and the logical place in storage area 110.Know this information (that is, the quantity of file, size and position), and particularly based on the file of one or more marks, memory allocator 144 managing storage areas 110 and imploring and the storage of unsolicited file in storage area 110.Managing storage area 110 or the storage of file of management in storage area 110 for example can comprise by optionally removing and be marked as discardable one or more file and recover to store nargin safe in utilization, be marked as discardable All Files and discharge storage area by removing, and with the more memory module of low performance that bunch is remapped to of file.Managing storage area 110 or the file of this storage can comprise managing storage area 110 or the file of this storage other, additional or replace aspect.
Memory allocator 144 is also known, discarded rank by can discarding file allocation to each, can maybe should discard (promptly from storage area 110 deletions or remove) and can discard the rank of file so that revert to the idle storage space (that is, recovering the storage nargin safe in utilization of expectation) of following user file original reservation.Therefore, if the user wants the new user file of storage in storage area 110, but there are not enough idle storage space to hold this user file (this means that storage nargin safe in utilization is narrower than what expect), memory allocator 144 uses and is assigned to the discarded priority that can discard file and delete one one by one iteratively and can discard file, regain the more free storage space (promptly, the storage space 190 that expansion is idle), recovered fully up to the storage nargin safe in utilization of expectation.As mentioned above, the storage that recovers fully nargin safe in utilization guarantees that enough idle storage space are reserved the high likelihood that is used for following user file.Only in response to the request that receives the new user file of storage, just remove or delete and to discard file from memory device 100, want to use the file discarded of storage when having because consider the user, and therefore, have only new user file need hold the storage space of this document, just remove and to discard file from memory device.Memory allocator 144 can be embedded into or be incorporated in the main frame 140, or it can reside in the outside (be shown as frame of broken lines 144 ') of main frame 140 and memory device 100.
Memory allocator 144 has representativeness reflection memory device 100 or relative file system.Memory allocator 144 use the file system of memory devices video tab file as can not discard or as discardable, and can discard the discarded rank of file allocation to each.In an example, file system comprises FAT, and in this case, in the not use part of the FAT clauses and subclauses relevant with this document, carries out this mark by one or more untapped positions are set.Because different file system has different structures, tab file (promptly as can not discard or discardable) and distribute discarded rank to be applicable to the file system structure of use is as following detailed description at Fig. 6 to 10.
Fig. 2 is the block scheme according to the portable memory spare 200 of another example embodiment.Memory controller 220 is similar to memory controller 120 and equally operates, and memory allocator 244 is similar to memory allocator 144 and equally operates.Memory allocator 244 can be hardware, firmware, software or its combination in any.Memory allocator 244 is internally cooperated with memory controller 220.No matter suitable memory controller 220 is received in the storage request of storage file the storage area 210 from main frame 240, this request comprises whether this document is the indication that can discard file, and whether memory controller 220 notice memory allocators, 244 these storage requests and this document are discardable.Then, memory allocator 244 in the structure of the file system relevant with memory device 200 mark this document as discarding maybe and can discarding.Usually, the application of operation determines that file is to discard file on main frame 240, and sending marks or other to memory controller 220, to indicate this document be to discard file.The application of operation sends the part of mark or other indication conduct requests storage protocol of storage file on memory device on main frame 240.The example of this storage protocol comprises the use of POSIX file system function or java.io class number.
If memory allocator 244 determines that this new file is discardable, memory allocator 244 is discarded priority according to user's probability of use to new file allocation.Then, the current size of memory allocator 244 assessment idle storage space 290, and whether decision should remove from storage area 210, and (that is deletion) is one or more discards file so that be new file making space.If should remove a discardable file or a plurality of file from memory device, memory allocator 244 those (a bit) files of decision are the current alternative files that are used to remove.Then, the file discarded that memory allocator 244 notice memory controllers 220 should remove from storage area 210, and in response to this notice, memory controller 220 removes a discardable file or a plurality of file by memory allocator 244 indications.In some configurations of portable memory spare 200, memory allocator 244 can functionally be arranged between memory controller 220 and the storage area 210.Memory allocator 244 functionally is arranged in the configuration between memory controller 220 and the storage area 210 therein, some of the function that memory allocator 244 or storage area 210 must hypothesis memory controllers 220.In this configuration, storage area 210 is by constituting with the memory cell that is higher than the higher rank communication of quickflashing NAND agreement.
Fig. 3 is the block scheme according to the memory allocator 300 of example embodiment.Memory allocator 300 comprises that memory cell 310, processor 320 and interface 330. memory cells 310 can keep file system structure or the reflection of the file system structure that is associated with memory device (for example, the memory device 200 of Fig. 2).The file system that processor 320 management are associated with this memory device.Interface 330 goes for the memory controller cooperation with main frame and memory device, as shown in fig. 1, or only with the memory controller cooperation of memory device, as shown in FIG. 2.
Processor 320 be configured or be applicable to via interface 330 receive that request comes in the storage area of memory device storage file and in the structure of the file system that is associated with memory device that memory allocator 300 therewith operate mark this document as discardable or conduct can not be discarded.If attach to the memory controller 220 (and therefore receiving the USB/MSC order of SCSI for example or packing rather than the order of file-level) of Fig. 2 on interface 330 functions, the request that is received is in the rank more much lower than file-level.That is to say that the request that is received will be the request at LBA (Logical Block Addressing) place memory sector, when by the suitable translation of main frame, this LBA (Logical Block Addressing) will be corresponding to a file.If the NVMHCI agreements supported by memory controller 220 or such as the networking file system protocol of NFS or similar agreement, memory controller 220 can obtain the request of file-level.Therefore, be not limited to NVMHCI or be similar to the embodiment of NVMHCI such as the memory controller of memory controller 220 with such as the communication between the interface of interface 330.Communication interface 330 can be one with memory allocator 300, as shown in Figure 3.
Processor 320 also is configured or is applicable to memory device to send tab file, and mark this document is as distributing discarded priority discardable comprising to this document.If the file system of being used by memory device is based on FAT's, processor 320 is by (for example, m=4) being provided with corresponding value, to the discarded priority of the file allocation of mark to m the highest (that is, the highest effectively) position.The respective value of giving the most significant digit in the FAT clauses and subclauses is set or is provided with and to be for the value of NTFS catalogue entry, or it can be relevant with the attribute of file.By " attribute ", mean metadata tag or certain data structure in the leader portion of FAT table or NTFS table, this FAT table or NTFS table comprise the information of the type that belongs to this table content stored." advertisement ", " award content " and " promoting (free time) content " are can be in the content of FAT table or the exemplary types of storing in the NTFS table.It is for example last file of visiting, document size, file type etc. that discarded other replacement standard of level is set.
The quantity m of most significant digit that is exclusively used in the FAT32 clauses and subclauses of tab file can be four or be less than four, because do not use those positions.In addition, use more position, then can use higher discarded priority.For example, use three positions (that is, m=3) to provide eight (2 3=8) discarded priority and use four positions (that is, m=4) to provide 16 (2 4=16) discarded priority (that is, comprise discarded priority " 0 ", it is assigned to the file that can not discard).In other words, if the file of mark can not be discarded, the value of a described processor m most significant digit is set to 0, if or the file of mark be discardable, the value of m most significant digit then is set to 1 and 2 mValue between-1.Discarded priority comprise tab file can be maybe should be from the discarded right of priority of memory device.For example, depend on embodiment, value " 1 " can be represented with lowest priority or with the discardable file of highest priority, and value " 2 m-1 " can represent respectively with highest priority or with the discardable file of lowest priority.
Processor 320 can use according to the expection of file, as mentioned above in conjunction with probability or the possibility that will be used unsolicited file by the user of memory device, comes to distribute discarded priority to tab file.Processor 320 can be when receiving each request of the new file of storage in memory device or in response to it, the discarded priority of update mark file.Processor 320 can upgrade the discarded priority of given tab file independently with the one or more new request of storage file in memory device.For example, before be that the file of high priority can have the right of priority that reduces after special time period.Processor 320 detects the file of storing in memory device, if this document has the relative discarded priority that is equal to or greater than predetermined discarded threshold value.Processor 320 can be write or the quantity of adding comes (again) that discarded threshold value is set based on file, or depends on the do business availability of file of the expection use of the idle storage space on the memory device or New Development.
Memory cell 310 can keep comprising the allocation table 340 of processor 320 to the discarded priority of the file allocation of storing in memory device.In addition, allocation table 340 can keep the identifier of file and the information that file is associated with the discarded priority that is assigned to file.Allocation table 340 can keep discarded threshold value in addition.The information that keeps in allocation table 340 allows processor 320 signs to remove the storage nargin safe in utilization which or which file recovers to expect from memory device.
In response to the request that is received in the new file of storage in the memory device, processor 320 is evaluated at the size of the idle storage space on the memory device, if and the about preliminary dimension of assessment size of the idle storage space on the memory device (f), then in memory device, store new file, if or it is not more than preliminary dimension, processor 320 is searched for one or more files of discarding in the memory device that can delete, and when finding these one or more files, processor 320 these file of deletion or a plurality of file are expanded the storage space (f) of current free time, so that the overall dimensions of expansion idle storage space is equal to or greater than preliminary dimension.If be equal to or greater than predetermined discarded threshold value (for example, between 1 and 15, (comprise given figure), for example 15) with discarding discarded priority that file is associated, can delete a discardable file or a plurality of file from memory device.
After idle storage space was expanded enough, processor 320 allowed the new file of size in the expansion idle storage space.Represent that by " idle storage space is expanded enough " expanding idle storage space by the storage space of release busy one by one can hold the storage nargin safe in utilization (margin) that new file does not have the above-mentioned expectation of constriction up to total idle storage card, or finally be equal to or greater than preliminary dimension, or can discard file up to having removed all up to the overall dimensions of the idle storage space of expansion.
Controller 320 can be system (" SiP ") device or a General Porcess Unit in system on chip (" SoC ") device or the packing under the frame of standard, has the specific software of carrying out step described here, operation and assessment when being performed.Perhaps, processor 320 can be the ASIC(Application Specific Integrated Circuit) of implementing by step, operation and the assessment of using hardware description (" ASIC ")
Fig. 4 is the method that is used to store discardable file according to an example embodiment.Fig. 4 will describe in conjunction with Fig. 1.In step 410, main frame 140 is received in the request of storage file 142 in the memory device 100.In step 420, memory allocator 144 mark this document conducts " can discard " or conduct " can not discard ", and in step 430, if idle storage space 190 is enough big, then the memory allocator 120 to memory device 100 sends tab file (that is, being used in storage area 110 storages).Also at mark this document on the meaning of the discarded priority of file allocation.In step 440, memory allocator 144 is based on the file of mark and come the file of (by communicating by letter with memory controller 120) managing storage area 110 or storage in storage area 110 alternatively based on the one or more files that have been labeled.
Fig. 5 is used for managing method in the storage of the file discarded of memory device according to an example embodiment.To Fig. 5 be described explicitly with Fig. 1.New file is to be used for memory device 100 stored candidate persons.Cicada memory device 100 file system 160 work as before image, memory allocator 144 checks in the current size " f " of step 510 assessment idle storage space 190 whether the idle storage space 190 that its current size is f can hold this new file (that is, as the file that is used for stored candidate person).Usually, memory allocator 144 depends on that new file is that user file or publisher's file are handled this new file.Therefore, memory allocator 144 determines that at first this new file is user file or publisher's file.
This new file is a user file.
In step 520, memory allocator 144 checks whether idle storage space 190 can hold this new user file.If idle storage space 190 can be held this new user file (being " Y " shown in the step 520), memory allocator 144 in step 560 in idle storage space 190 the new user file of storage, and do not consider that the storage of expecting nargin safe in utilization is whether because the new user file of storage and by constriction.If the storage nargin safe in utilization of expectation narrows down (promptly memory allocator 144 is stored new user file in idle storage space 190 after, storage nargin safe in utilization with respect to expectation), memory allocator 144 is not taked further action at the storage of new user file.
But, if the storage nargin safe in utilization of expectation narrows down memory allocator 144 is stored new user file in idle storage space 190 after, step 550 comprises additional step, wherein, memory allocator 144 determines that the file discarded which is stored should be at first deleted, which can discard file should be secondly deleted, or the like, so that keep the storage of expectation nargin safe in utilization.Memory allocator 144 determines to the discarded rank of the discarded file allocation of being stored which can discard file based on memory allocator 144 should be at first deleted, and which can discard file should be secondly deleted, or the like.
If can not hold this new user file (being " N " shown in the step 520) in step 520 memory allocator 144 definite idle storage space 190, then memory allocator 144 is determined idle storage space 190 and whether enough is used for this new user file of storage by the storage space that can discard the file trumpet when making up in step 530.If the storage space of combination enough (being " N " shown in the step 530) this means no matter what will be deleted and can discard file that new user file is because its bigger size all can not be stored in " non-user's " storage area.If the storage space of combination enough (be " Y " shown in the step 530), memory allocator 144 in step 540, in the file of being stored discarded, search for which can discard file can be deleted so that enough storage spaces of release new user file.Memory allocator 144 is searched for these by the file system of using memory device 100 can discard file because aforesaid, memory allocator 144 in the file system of memory device tab file as that can not discard or discardable.In addition, also be embedded in the file system of memory device, so that each discarded rank is associated with corresponding tab file by the discarded rank of memory allocator 144 to the file allocation of mark.
Finding the file discarded (" DF ") that at first go out of use when (being called as " DF1 " below this document), memory allocator 144 deleted file DF1 are so that add or return its storage space (this is called as " SP1 " below storage space) to storage space 190.
Then, in step 550, memory allocator 144 checks whether the idle storage space 190 (that is, idle storage space 190 adds the storage space that returns at last, or f+SP1) of expansion can hold new user file.If the idle storage space 190 of expansion (promptly, f+SP1) still can not hold new user file (being " N " shown in the step 550), memory allocator 144 iteratively repeating step 550 (this iteration illustrates at 555 places) in case return additional storage space to idle storage space 190 (that is, by find and delete should be deleted next file discarded).
When finding next file discarded with time the highest discarded right of priority (this next can discard below the file be called as " DF2 "), memory allocator 144 deleted file DF2 discharge storage space 190 so that discharge and add additional storage space (this additional storage space is hereinafter referred to as " SP2 ").Then, in step 550, memory allocator 144 checks once more whether the idle storage space 190 (that is, idle storage space 190 adds two storage spaces that discharged just now, or f+SP1+SP2) of expansion can hold this new file.If expansion idle storage space 190 (being f+SP1+SP2) still can not hold this new file (shown in the step 550 for " N "), then memory allocator 144 repeating steps 540 again in case find should be deleted next file discarded.Memory allocator 144 iterative steps 540 and 550 can hold this new user file (being " Y " shown in the step 550) up to the idle storage space 190 of accumulation.Then, in step 560, memory allocator 144 is stored this new user file in storage area 110.
As mentioned above, if it is narrower than the storage nargin safe in utilization of expectation that actual storage nargin safe in utilization becomes memory allocator 144 is stored new user file in idle storage space 190 after, step 560 can comprise additional step, wherein, memory allocator 144 determines that the file discarded which is stored should be at first deleted, which can discard file should be secondly deleted, or the like, so that recover the storage nargin safe in utilization of expectation.
This new file is publisher's file.
If new file is publisher's file, have only idle storage space 190 can hold this New Development do business file and the storage nargin safe in utilization of non-constriction expectation, memory allocator 144 is storage (in step 560) this New Development file of doing business in storage area 110.That is to say that file will cause the storage nargin safe in utilization of constriction expectation if the storage New Development is done business, then memory allocator 144 can determine not in storage area 110 this New Development of storage file of doing business.In this case, memory allocator 144 can be avoided this document is taked any action, and not from memory device deleted file come release new publisher file storing space.Perhaps, memory allocator 144 can be deleted the file discarded of one or more more high priorities so that for having the file the discarded release storage space of low discarded right of priority in step 540.As mentioned above, file is tagged to and discards rank and is embedded in the file system of memory device 100, and the mode that is labeled of file and be embedded in discarded rank in the file system and depend on or go for employed file system.
Fig. 6 is the method for unsolicited file of file system that is used to be marked at FAT 32 structures that is used for according to example embodiment; The file system of FAT 32 structures is used bunch.As above described in conjunction with the file system of FAT 32 structures, the quantity that is used to identify the position of 32 bunches of FAT is 32.Fig. 6 will describe explicitly with Fig. 1.
In step 610,32 m the most significant digit (wherein m<4) of each bunch of FAT 32 be assigned with or be exclusively used in tab file as can not discard or as discardable, as situation may be, and be used to each can discard the discarded rank that file keeps correspondence.Undertaken by the m position that is assigned with corresponding to tab file is provided with respective value to the discarded rank of file allocation.
In step 620, the user of memory allocator 144 assessment memory devices 100 will use the probability rank of this unsolicited file.Use the assessment of the probability of this document to realize with the variety of way known to the skilled in consignment file field.For example, the assessment of the probability of use this document can be used the people's of memory device position based on supervision, and/or the previous experience and the preference of monitoring user.Use the assessment of the probability of this document can also be based on for example in the type (for example, " ad content ", " rewarding content ", " promoting (freely) content " etc.) of FAT table or NTFS table content stored.Memory allocator 144 can use replacement or additional standard to assess the probability that will use this document.For example, it can use the attribute or the feature of file, and this can be or be associated with file, document size, file type of last visit etc.
After memory allocator 144 assesses user will be used the rank of probability of unsolicited file, memory allocator 144 distributed the corresponding discarded priority of probability rank with the assessment of the use of this unsolicited file in step 630.User by memory device 100 uses the probability of unsolicited file big more, and discarded rank is low more.
If m equals four, this means discarded scope provide from 1 (promptly 0001) to 15 15 discarded ranks of (promptly 1111).That is to say, to the discarded rank 0 of each file allocation that can not discard, to discarded file allocation priority 1 with minimum discarded right of priority, and to having the discarded rank 15 of discarded file allocation of high discarded right of priority.At memory allocator 144 after the discarded rank of unsolicited file allocation correspondence, memory allocator 144 in step 640 to be associated with unsolicited file bunch four most significant digits be distributed in respective value between 1 and 15.If unsolicited file has two or more bunches that are associated with it, four most significant digits in each bunch are set to identical value.
In step 650, check that unsolicited file is to need evaluated last file.If unsolicited file is not to need evaluated last file (being " N " shown in the step 650), assess another file in the above described manner.If unsolicited file is to need evaluated last file (being " Y " shown in the step 650), unsolicited file is sent to memory device, and each m position is provided with each value in step 640.
Fig. 7 is the example directories zone 700 related with FAT 32 epiphases.Catalogue listing 700 only is to be used for illustrated part table, and so, table 700 does not illustrate all fields of FAT catalogue entry.Directory area 700 remains on the details of the file of storing in the related file system, where begins in associated memory space such as file name, document size and each file.The details of file is maintained in the following field.Field 710 remains on disk operating system (" the DOS ") filename of the file of storing in the related file system, field 720 keeps the extension name of file, field 730 keeps the various attributes of file, field 740 keeps high 16 words of the first bunch number (" FCN ") of file, field 750 keeps the lower part of the first bunch number (" FCN ") of file, and field 760 keeps the size of file.Each FCN number the indication file can be found first Logic Cluster..
The first entry of directory area 700 is kept for being called the information (illustrating at 770 places) of the example file of " REALFILE ".REALFILE 770 has file extension " DAT ", and its FCN is that " 00000002 " (illustrating at 755 places) and its illustrate is " 000024E4 ".Numeral in table 700 illustrates with hexadecimal value.As the part of standard, property value " 00 " (illustrating at 780 places) and " 20 " (not shown in Figure 7) refer to " routine " file, and property value " 02 " refers to the file of hiding in file system.The file of filename " xE5Consign " indication deletion, and " xE5 " means that the value of first byte of filename is E5 in sexadecimal.By example, first bunch of FCN number 00000002 (illustrating) specified file REALFILE at 755 places.
Fig. 8 is FAT 32 tables 800 according to example embodiment.FAT32 table 800 is shown as double word (" DWORD ") array, and value is hexadecimal value.Reference number 810 indications keep the type of the device of FAT32 table 800, and wherein " F8 " refers to hard disk.FAT32 table 800 comprises and is designated as a bunch #1 (illustrating at 820 places), bunch #2 (illustrating) at 825 places ... and 23 bunches of bunch #23 (illustrating at 830 places).Fig. 8 will describe explicitly with Fig. 7.In the FAT32 table 800 bunch can be first bunch of file, or its can point to file next link bunch, or it can be end of file (" EOF ") indication.
Refer again to directory area 700, the FCN of REALFILE (illustrating at 770 places) is " 00000002 " (illustrating at 755 places), its at table 800 middle finger of Fig. 8 at a bunch #2 place.As shown in Figure 8, the value of bunch #2 (that is, value " 0000003 ") refers at (illustrating at 840 places) bunch #3 place, its be next file bunch.Similarly, the value of bunch #3 (i.e. " 00000004 ") refers at a bunch #4 place, its be next file bunch.Bunch #4 has value " 0FFF FFFF " (" F " is the hex bit of expression decimal value " 15 "), the EOF indication of wherein " FFFFFFF " (illustrating at 850 places) expression file, and the discarded rank 0 of null value (illustrating at 860 places) expression.That therefore, file REALFILE is associated with it is three bunches (that is, bunch #2, bunch #3 and bunch #4)
As mentioned above, discarded rank 0 is assigned to and can not discards file.Notice that the highest hex bit of each bunch of concrete file is set to be assigned to the identical discarded priority of this document.For example, file REALFILE has been assigned with discarded rank " 0 ", and therefore, bunch #2, the highest hex bit of #3 and #4 have this value (that is, be worth " 0 ", " 0 " has been worth by underscore).According to another example, its FCN is that file " 00000005 " " E5 Consign " (as shown in Figure 7) has been assigned with discarded priority " 1 ".Therefore, each the highest hex bit that belongs to bunch #5 to 12 of this document has value " 1 " (for example illustrating at 870 places).In other words, according to the disclosure, the highest hex bit (or, be equal to ground, with can discard specifically that file is associated bunch four most significant digits) be set to the identical value corresponding with the discarded priority that is assigned to this concrete file.As mentioned above, be used to indicate the quantity m of the most significant digit of discarding priority can be different from four (that is m<4).
Fig. 9 is the NTFS table 900 according to example embodiment.NTFS table 900 keeps the details of file, such as file name, document size etc.NTFS table 900 comprises and keeping according to " normal " file that data stream changes " routine " data field 910 of data (for example data 920).According to the disclosure, NTFS table 900 comprises that also " discarded information " field 915 is used to keep the discarded information (for example, discarded information 930) of the file of each assessment.Discarded information field 915 can also comprise the information except discarded priority.For example, discarded information field 915 can comprise the expired time that the information that belongs to the server of supplying this document and file must go out of use.Unlike file system, in file system, be assigned to the discarded value that to discard file and be not limited to maximal value by one group of position regulation based on NTFS based on FAT.The scope that this means discarded value can freely be selected.For example, the scope of discarded value can from 1 to 25.NTFS is the non-FAT file system of example.Usually, corresponding discarded value can be set at data field based in the file system clauses and subclauses of non-FAT corresponding to the file of mark.
Figure 10 is the logic arrangement according to the file system 1000 of the memory device of example embodiment.Memory allocator (for example, the memory allocator 144 of Fig. 1) can keep the file system 1000 of the memory device therewith operated or the reflection of file system 1000, and perhaps memory allocator can have the visit to file system 1000.
File system 1000 comprises leader 1010, the FAT 1020 that is associated with file system 1000, catalogue listing 1030, file area 1040 and can discard file area 1050.FAT 1020 comprises the discarded file allocation zone 1025 that comprises the discarded priority that can discard file.Catalogue listing 1030 comprises the visit information that is used for visiting any file of storing at memory device (that is, can discard file and/or can not discard file).File area 1040 comprises can not discard file.Index and database area 1045 keeps discarding the index of file, and with can discard the metadata that file is associated.The index and the metadata that keep in index and database area 1045 are used to calculate discarded rank, but do not need them at the waste treatment device of reality.Can discard file area 1050 keeps discarding file.
Figure 11 has demonstrated according to file management method of the present disclosure.Figure 11 will describe explicitly with Fig. 1.Suppose that at time T 0 place, two user files (that is, file " F1 " and " F2 ") initially are stored in the storage area 110.Because file " F1 " and " F2 " are user files, so they are stored in the user area 170, and are zero by the discarded rank that memory allocator 144 distributes to their.Because the total memory capacity of storage area 100 is T (illustrating at 1110 places), and file F1 and F2 be stored in the memory device 100, and the size (see figure 1) of residue idle storage space 190 is f (illustrating at 1120 places).Suppose that the publisher wants three unsolicited files of storage in storage area 110.As mentioned above, memory allocator 14 be evaluated at the size f of 1120 places (or) of the idle storage space 190 in the memory device 100 in case three unsolicited files determining storage publisher in storage area 110 can constriction for for the expectation reserved of user file store nargin safe in utilization (illustrating) at 1130 places.If three unsolicited files of storage publisher are stored nargin 1130 safe in utilization (that is, the storage of expectation nargin safe in utilization) with constriction, memory allocator 144 will avoid storing these files.
In this example, memory allocator 144 determines that three unsolicited files of publishers can be stored in the storage area 110 and do not reduce storage nargin 1130 safe in utilization.Therefore, at time T 1 place, memory allocator 144 allows memory controller 120 to store three unsolicited files of publisher in storage area 110.These three publishers' unsolicited file is designated as " P1 ", " P2 " and " P3 ".Memory allocator 144 is also determined file P1, and P2 and P3 will be stored the probability of user's use of device 100, and the corresponding discarded rank of each distribution in these files.Then, memory allocator 144 is at FAT table, and as demonstrating in Fig. 8, or in the NTFS table, as demonstrating in Fig. 9, storage is assigned to the discarded rank of file
At time T 2 places, the user of memory device 100 wants two other file of storage in storage area 110 (that is, file " F3 " and " F4 ").Whether the reappraise size f of 1120 places (or) of the idle storage card 190 in memory device of memory allocator 144 is so that determine to exist in storage area 110 enough storage spaces to store these other files (that is, file F3 and F4).In this example, memory allocator 144 definite current idle storage space can be held file F3 and F4.Therefore, at time T 2 places, memory allocator 144 allows memory controller 120 storage file F3 and F4 in storage area 110.
Because file F3 and F4 are user files, therefore will to be stored the probability that the user of device 100 uses be incoherent for file F3 and F4, because user file has the memory priority higher than publisher file, and no matter the user use file F3 and F4 how many times, even even the user from unused file F3 and F4.Therefore, memory allocator 144 distributes discarded rank " 0 " to file F3 and F4, and at the FAT table, as in Fig. 8, demonstrating, or in the NTFS table, as in Fig. 9, demonstrating the discarded rank that storage is assigned with
At time T 3 places, the user of memory device 100 wants two other file of storage in storage area 110 (that is, file " F5 " and " F4 ").Whether the reappraise size f of 1120 places (or) of the idle storage card 190 in memory device of memory allocator 144 is so that determine to exist in storage area 110 enough storage spaces to store this another file (that is file F5).
In this example, memory allocator 144 definite current idle storage space can be held file F5.Therefore, at time T 3 places, memory allocator 144 allows memory controller 120 storage file F5 in storage area 110.As shown in figure 11, storage user file F5 constriction storage nargin safe in utilization.That is to say, file F1 to the idle storage space f in storage area 110 that keeps F5 and P1 are stored in the storage area 110 to P3 after less than storage nargin 1130 safe in utilization.Therefore, one of memory allocator 144 file (that is, P1, P2, and P3) by removing the publisher restores (reinstate) or recovers storage nargin safe in utilization.By removing that (i.e. deletion) one or more publisher's files restore or recovers storage nargin safe in utilization is because as mentioned above, user file has the memory priority of maximum.
As mentioned above, distribute to the discarded priority of the file discarded of each storage based on memory allocator 144, make the decision that remove which publisher's file or which publisher's file from storage area 110 by memory allocator 144.
Turn back to Figure 11, suppose the storage publisher's file P1 between the P3, publisher's file P3 has been assigned with the highest discarded priority (for example, 13).Therefore,, remove file P3, therefore amplified idle storage space 190 from storage area 110 at time T 4 places.Because greater than storage nargin 1130 safe in utilization, therefore do not need to remove any more publisher's file in the size (f) of the idle storage space 190 at time T 4 places at 1120 places.
The user of memory device 100 may want to remove one or more user files.At time T 5 places, the user has removed from two of his file (promptly, file F4 and F5), therefore further amplified idle storage space 190. file F4 and F5 remove with idle storage space 190 or to store the size of nargin safe in utilization irrelevant, as in this statement, regain idle storage space or recover storage nargin safe in utilization by the file discarded that removes the quantity that needs.Suppose that the publisher wants another unsolicited file of storage in storage area 110.As mentioned above, the size (f) of memory allocator 144 assessment idle storage space 190 at 1120 places in case the unsolicited file of determining storage publisher in storage area 110 whether not constriction store nargin 1130 safe in utilization.If storage publisher's new unsolicited file is stored nargin 1130 safe in utilization with constriction, then memory allocator 144 will avoid storing this document.
In this example, memory allocator 144 determines that publisher's new unsolicited file (that is, file " P4 ") can be stored in the storage area 110, and does not reduce storage nargin 1130 safe in utilization.Therefore, at time T 6 places, memory allocator 144 allows memory controller 120 to store publisher's file P4 in storage area 110.Memory allocator 144 determines that also file P4 will be stored the probability of user's use of device 100, and distributes corresponding discarded rank to this document.Then, memory allocator 144 is at FAT table, and as demonstrating in Fig. 8, or in the NTFS table, as demonstrating in Fig. 9, storage is assigned to the discarded rank of file P4.Storage New Development file of doing business and new user file and the processing that removes the file of being stored can be worked as at every turn and continued when memory device 110 adds new file, the current size of memory allocator 144 assessment idle storage space 190, and determine and must remove which publisher's file or which publisher's file (if also can) from storage area 110.
Can be based on about user's GPS (" the GPS ") position and/or the user experience or the preference of other standards to discarding the discarded rank of file allocation.For example, if the user of memory device likes the music of particular type as (based on previous user experience), if then publisher's file comprises the music of one of favorite music type of user, memory allocator can distribute low relatively discarded priority (for example, in 1 to 15 scale 3) to this document.But, if the music that the user dislikes the publisher (promptly, based on previous user experience), memory allocator can be to the higher discarded priority of relevant publisher's file allocation (for example, in 1 to 15 scale 12). be used for size, file to the type that can discard expected revenue that other standard of the discarded level of file allocation can comprise that the expection of file uses, is associated with use this document, file, file in the position of memory device, age of file and in other standards or the parameter of this appointment.Other standards, no matter separately or in conjunction with arbitrary standards described here, can use similarly, and can use one or more standards discard grade other distribution.In addition, can use various criterion to come to discard the discarded rank of file allocation to difference.
In another example, if the publisher wants to send the advertisement relevant with the position (promptly to the user, about the product that presents in the particular location or the advertisement of service), then the size divider can be to the position of publisher's advertisement basic of distribution user's change and the discarded priority that changes.That is to say that the user is far away more from particular location, discarded rank will be high more, because since far away from particular location, may suppose that the user loses interest in being consumed in product or the service that this particular locations presents.
As mentioned above, in FAT, write down bunch chain that to discard file as the sign that can discard file with the sign file relevant with the FAT32 clauses and subclauses.Usually, this sign is in four most significant digits of each FAT32 clauses and subclauses.Because can being assigned to, bunch chain can discard file, but do not have the file that can not discard relevant with them, therefore may will change such as the instrument of chkdsk or fsck.vfat and can discard file for can not discard file, also be known as " truly " file, reduce the security of file system 160 thus.In addition, have risk: some FAT reply the sign that instrument will reset at the file discarded in the FAT32 clauses and subclauses.FAT32 file system check and fix tool go on foot the file system through (step through) usually, and apply rule so that repair common mistake.Usually, these instruments can be searched bunch chain that does not have corresponding clauses and subclauses in the first bunch number (FCN) row in catalogue listing in FAT.These instruments are handled does not have a bunch distribution as unaccounted data fragment () (being known as isolated bunch (orphan clusters)) of any catalogue or file entries in FAT, and these instruments can be deleted these isolated bunch or set up the corresponding file clauses and subclauses in catalogue listing.Because the file system of discarding described here may utilize anything will be thought of as isolated bunch in addition, so the file discarded of these instrument possible errors changes into and can not discard file, or whole removing can be discarded file.
In order to solve these files, in some embodiments, memory allocator 144 can be associated with a bunch chain among the main FAT discarding file, wherein, this bunch chain is hidden the physical location that can discard file, and memory allocator 144 is stored the physical location of this document in can discarding FAT, database or one or more position paper.Usually, it is invisible concerning main FAT to discard FAT, database or one or more position paper, and in some embodiments, with can discard FAT, database or one or more position paper associated attributes and can be enabled to prevent that host operating system from visiting this and can discard FAT, database or one or more position paper.
As attention before, each clauses and subclauses among the FAT32 are 32, but only use lower 28.Usually, higher four are reserved and are set to zero.If (need the compatible embodiment of FAT32 come higher four be set at distribution bunch on then ignore higher four, and to be provided with higher four when write new FAT clauses and subclauses be zero.) use sign in higher four of FAT clauses and subclauses of each bunch chain relevant with this document to distinguish can to discard file and can not discard file.Standard FAT32 driver can discard file regard as distribution as seen, and on them, do not write.But memory allocator 144 can periodically operate, such as with reference to figure 5 described those distribute so that in memory device 110, keep free space, and can reply and be assigned to the space that can discard file.
By using main FAT and can discarding in FAT, database and the one or more position paper at least one, can expand main FAT.When being combined in file allocation table, the main FAT of expansion searches branch cooperation in the logic when using, so that if higher four of FAT clauses and subclauses are non-zeros, the information in the one or more files that can discard the physical location that FAT, database or reflection can discard file is used to substitute the FAT clauses and subclauses in main FAT.Because the value of information priority in the FAT of main FAT clauses and subclauses in can discarding FAT, database or one or more position paper, therefore will not change such as the instrument of chkdsk and fsck.vfat and can discard file for can not discard file because these instruments will see can discard file bunch with can discard FAT, database or one or more position paper in catalogue or file entries relevant.And, the indication file that the FAT instrument of replying will not reset among the FAT32 is the sign that can discard file, because such as the instrument of chkdsk and fsck.vfat see with can discard file relevant bunch with can to discard catalogue in FAT, database or the one or more position paper or file entries relevant, rather than as free space.
When file system 160 is utilized main FAT 1200 and can be discarded FAT 1201, be marked as the file that can discard file in order to store, the main FAT1200 that memory allocator 144 upgrades shown in Figure 12 a is relevant with this document with being assigned to bunch chain 1202 that can discard file.Usually, bunch chain 1201 can be the identical size of the discarded file relevant with bunch chain 1201 or greater than the discarded file relevant with bunch chain 1201.In some embodiments, bunch chain 1202 is marked at the physical location of the file discarded among the main FAT.Usually, as above describe with reference to figure 7 and 8, each bunch in bunch chain of beginning in clauses and subclauses 1204 point to bunch chain 1202 next order bunch, up to the ending of the value indication bunch chain 1202 of the 1FFF FFFF shown in clauses and subclauses 1206.But in other embodiments, each bunch of bunch chain can have the value such as 1FFF FFFF, indication bunch be distribute separately bunch, rather than point to bunch chain next order bunch.
The corresponding clauses and subclauses 1208 that the first entry 1204 of bunch chain 1202 points in can discarding FAT 1201 are shown in Figure 12 b.Describe with reference to figure 7 and 8 as above, for each file, next order of each bunch sensing this document in bunch chain 1202 during can discarding FAT 1201 bunch, indicate the EOF of file up to the value of the 1FFF FFFF shown in clauses and subclauses 1210.
Should be appreciated that, bunch of chain 1202 can be associated more than a file.For example, shown in Figure 12 b, bunch chain 1202 comprises the first group bunch from bunch #6 of first file 1212 (element 1208) to a bunch #9 (element 1210), and comprises from bunch #10 of second file 1214 to bunch #11 the second group bunch.
In addition, should be appreciated that main FAT 1200 and corresponding discarded FAT 1201 can comprise more than a bunch of chain.For example, shown in Figure 12 a and 12b, main FAT can comprise bunch chain 1202 of bunch #6 to bunch #11, and can comprise the second bunch chain 1216 of bunch #20 to bunch #22.
In other embodiments, do not use main FAT 1200 and can discard FAT 1201, file system can use main FAT 1200 that one or more files and aforesaid bunch of chain and database or one or more separation point positions file are associated, replacement can be discarded FAT, stores the one or more physical locations of discarding file relevant with bunch chain.Database or position paper can be can not discard stored text file or binary file in the zone in file system.
Figure 13 is used to use main FAT and can discards the method that FAT comes the managed storage device.Figure 13 will describe explicitly with Fig. 1.In step 1310, main frame 1410 is received in the request of storage file 142 in the memory device 100.In some embodiments, memory allocator 144 draws the request of storage file 142 in memory device 100 based on one or more write requests associated with the file.
In step 1320, memory allocator 144 in the file system structure relevant with above-mentioned memory device 100 mark this document as " can discard " or as " can not discard ".In step 1320, also at mark this document on the meaning of the discarded priority of file allocation.
In step 1330, when file is in the time of can discarding file, memory allocator 144 upgrades main FAT bunch chain that is assigned to this document is associated with this document.In step 1340, memory allocator 144 renewals can be discarded FAT and be reflected the physical location of this document in memory device 100.In step 1350, memory allocator 144 (by with the communicating by letter of memory controller 120) storage area of managed storage device 100, or manage the file that is stored in the storage area 110 based on the file of mark and according to discarding FAT.The administrative class of storage area is similar to above described with reference to figure 5.
Figure 14 is used to use FAT and database to come the process flow diagram of the method for managed storage device.Figure 14 will describe relatively with Fig. 1.In step 1410, main frame 140 is received in the request of storage file 142 in the memory device 100.In step 1420, memory allocator 144 in the file system structure relevant with above-mentioned memory device 100 mark this document for " can discard " or as " can not discard ".In step 1420, also at mark this document on the meaning of the discarded priority of file allocation.
In step 1430, when file is in the time of can discarding file, memory allocator 144 upgrades FAT bunch chain that is assigned to this document is associated with this document.In step 1440, memory allocator 144 more new database reflects the physical location of this document in memory device 100.In step 1450, memory allocator 144 (by with the communicating by letter of memory controller 120) storage area of managed storage device 100, or manage the file that is stored in the storage area 110 based on FAT and database.
Figure 15 is used to use FAT and position paper to come the process flow diagram of the method for managed storage device.Figure 15 will describe relatively with Fig. 1.In step 1510, main frame 140 is received in the request of storage file 142 in the memory device 100.In step 1520, memory allocator 144 in the file system structure relevant with above-mentioned memory device 100 mark this document for " can discard " or as " can not discard ".In step 1520, also at mark this document on the meaning of the discarded priority of file allocation.
In step 1530, when file is in the time of can discarding file, memory allocator 144 upgrades FAT bunch chain that is assigned to this document is associated with this document.In step 1540, memory allocator 144 upgrades position paper and reflects the physical location of this document in memory device 100.In step 1550, memory allocator 144 (by with the communicating by letter of memory controller 120) storage area of managed storage device 100, or manage the file that is stored in the storage area 110 based on FAT and position paper.
In other embodiments, in order to strengthen safety, and destroyed or damage by file system integration tool such as dosfsck (also being known as fsck.vfat) or chkdsk in order to prevent file system, memory allocator 144 does not distribute bunch can discarding in the file area sequentially to bunch chain, with guarantee can not be under the situation of one or more position papers of not reading to discard the physical location that FAT, database or storage can discard file rebuilt bunch of chain.In addition, in FAT, generate one or more bunch relevant scope files of upsetting with bunch chain, so that will not change such as the instrument of dosfsck and can discard file for can not discard file, or the indication this document that resets in the high bit of file is discardable sign.In some embodiments, can enable such as hide, the attribute relevant of system, catalogue or Volume Properties with the scope file, prevent that host operating system from visiting these scope files.
Figure 16 is the figure that illustrates the FAT that comprises bunch chain, wherein, forms two or more bunches order of this bunch chain and is upset.As shown in figure 16, be included in the bunch discontinuous of bunch chain that clauses and subclauses 1602 places begin.For example, the order of bunch chain that begins at clauses and subclauses 1602 places is a bunch #13, bunch #9, bunch #7, bunch #18 and bunch #21.In FAT, the value of each bunch is pointed to the following cluster in bunch chain, describes as above Fig. 7 and 8.
Except upset comprise bunch chain relevant with one or more files bunch order, can in FAT, set up one or more scope files of one or more bunches that comprise bunch chain relevant with this document.In some embodiments, each scope file can be illustrated in as the part of bunch chain bunch scope in all bunches.Since the scope file and comprise bunch chain bunch between relevant, therefore will not change such as the instrument of chkdsk or fsck.vfat and can discard file, and indication this document that FAT answer instrument will not reset in the FAT32 clauses and subclauses is the sign that can discard file for to discard file.
Figure 17 is shown in one or more scope files of setting up among the FAT, and this FAT has stored at least one bunch of bunch chain that begins at clauses and subclauses 1602 places.For example, the storage of the first scope file 1604 comes bunch #7 and bunch #9 of bunch chain that comfortable clauses and subclauses 1602 places begin, and bunch #13, bunch #18 and bunch #21 of bunch chain that begins of the second scope file, 1606 storage comfortable clauses and subclauses 1602 places.
The scope file can store from more than a bunch of chain bunch.For example, except above come bunch chain that comfortable clauses and subclauses 1602 places begin list bunch, the first scope file 1604 can store bunch #5 and bunch #10 of bunch chain that comfortable clauses and subclauses 1608 places begin.Similarly, except above come bunch chain that comfortable clauses and subclauses 1602 places begin list bunch, the second scope file 1606 can store bunch #16, bunch #17 and bunch #22 of bunch chain that comfortable clauses and subclauses 1608 places begin.
Figure 18 is the method that is used to use FAT managed storage device, wherein, comprises that the order of bunch two or more of chain bunch is upset.Figure 18 will describe explicitly with Fig. 1.In step 1810, main frame 140 is received in the request of storage file 142 in the memory device 100.In step 1820, memory allocator 144 in the file system structure relevant with above-mentioned memory device 100 mark this document for " can discard " or as " can not discard ".In step 1820, also at mark this document on the meaning of the discarded priority of file allocation.
In step 1830, when file is in the time of can discarding file, memory allocator 144 upgrades FAT bunch chain that is assigned to this document is associated with this document.In step 1840, in FAT, based on such as the overall dimensions of the amount of the storer in the memory device 100, bunch chain, between two orders of bunch chain bunch bunch quantity and/or can consider physical block address in the piece that erase block size, each logical address distributing and/or the flash memory management algorithm of the loss balancing data of each page relevant with physical block address is upset the order of two or more bunches of bunch chain of being correlated with this document.In some embodiments, use the Pseudo-random number generator of the side-play amount in the scope that is provided at each bunch that before is not assigned with or two or more bunches the order that the entropy random number generator is upset bunch chain.In some embodiments, use consideration to upset two or more bunches order of bunch chain from the one-way Hash function (one-way hash function) of the uncertain value of host computer system 140 and/or memory device 100.
In step 1850, in FAT, set up the first scope file of at least one bunch that comprises bunch chain relevant with first file.In step 1860, the storage area 110 of memory allocator 144 (provide with memory allocator 120 communicate by letter) managed storage device 100, or manage the file of storage in storage area 110 based on FAT and scope file.
In other embodiments, file system can realize conversion lock, guarantees that in the time can discarding File Open this can discard file and not be converted into and can not discard file.May for example to memory device 100 download can discard file during or the data relevant with discarding file by during delivering to the time period before the public, such as when with the date issued of being correlated with about music, song or the program that can discard file before when memory device 100 downloads can be discarded file, open and can discard file.Usually, these conversion latching operations are provided with when lock conversion with box lunch and can discard file and can not be converted into and can not discard file.
Figure 19 is used for using the conversion lock to come realizing that when discarding file main FAT prevents to discard the method for the conversion of file when being opened with the file system that can discard FAT.Figure 19 will describe explicitly with Fig. 1.In step 1910, memory allocator 144 receives can discard the request of file conversion for discarding file.In step 1920, the value of the conversion lock identifier that memory allocator 144 signs are relevant with discarding file.In step 1930, memory allocator 144 determines whether and can will can discard file conversion for can not discard file based on the value of conversion lock identifier.Usually, memory allocator 144 determines that can discard file may not be converted when the value indication of conversion lock identifier can be discarded file and is opened, and memory allocator 144 is definite when the indication of conversion lock identifier can be discarded file and is not opened can discard file and can be converted.
May not be converted into and can not discard file if memory allocator 144 determines to discard file in step 1930, then memory allocator 144 can be discarded file as discarding at step 1940 prohibition flag.But, can be converted into and can not discard file if memory allocator 144 determines to discard file in step 1930, memory allocator 144 continues the file that the conduct of mark this document can not be discarded in the file system structure relevant with memory device 100 in step 1950; Upgrade the physical location that main FAT reflects this document in step 1960; And upgrade in step 1970 and can discard the physical location that FAT removes this document.
To understand, and, as mentioned above, lock with conversion and to realize similar approach when substituting with main FAT when can discard FAT and using database or position paper.
In some embodiments, can allow to use and carry out such as discarding file conversion for discarding file or checking the operation of the value of change locking identifier based on the identifier relevant with this applications.Usually, set up or download can discard file application can with user identifier (ID) with can discard file and be associated.User ID can be that sign has been set up the application that can discard file or owner's user ID of user.In some embodiments, owner's user ID is 4 byte values.
File system 160 provides definition and other users or relevant what the further user ID of application to visit can to discard file and additional user ID can take the ability of what action at discarding file to owner's user ID.To understand, and depend on the use that can discard file, additional user ID can be associated with single application or unique user, and perhaps additional user ID can be and a plurality of application or a plurality of user-dependent sharing users ID.
In some embodiments, owner's user ID can allow the application access relevant with the further user ID preview data relevant with discarding file.Preview data can be the part that can discard file, and wherein, in other embodiments, preview data is different from or is relevant to can discard file.In some example embodiment, can discard file can be film, and preview data can comprise the movie trailer relevant with film; Can discard file can be TV programme, and preview data can comprise the part of TV programme; Can discard file can be music data, and preview data can comprise the part of music data; Maybe can discard file can be software program, and preview data can comprise the crippled version of software program.In other example embodiment, can use preview data so as with the date issued that can discard file before, can discard file may not be accessed, but can visit the preview data relevant with discarding file, and after date issued, can visit and to discard file and preview data.In another example, owner's user ID can allow the application relevant with further user ID to write to discarding file based on the user ID relevant with discarding file.
In some embodiments, file system can provide the permission bits mask for owner's user ID, and what operation defines the application relevant with further user ID can carry out at discarding file.An example of the permission bits mask of typical case's use sight is shown in Figure 20.But, should be appreciated that owner's user ID can have precedence over permission shown in Figure 20, and distribute any permission to further user ID.
With reference to permission shown in Figure 20, being provided with characteristic writes the application of permission bits (properties write permission bit) 2002 and can revise attribute, such as enabling or forbid the conversion lock, timestamp is set or writes the universal resource indicator (" URI ") that consumption is intended to, and be provided with characteristic and read the application of permission bits 2004 and can read attribute, such as the URI of conversion lock, timestamp or consumption intention.The application that is provided with right of priority permission bits 2006 can be revised the priority that can discard file.Be provided with preview and read the application of permission bits 2008 and can read the preview data relevant, and be provided with preview and write the application of permission bits 2010 and can write the preview data relevant with discarding file with discarding file.Be provided with the application of reading permission bits 2012 and can read to discard file, and be provided with the application of writing permission bits 2014 and can write to discarding file.Usually, only relevant with being associated with the owner's user ID that can discard file application will have these permissions.The application that is provided with conversion permission bits 2016 can will can be discarded file conversion for can not discard file.
Note, disclosed herein in related file system tab file and distribute discarded other method of level can have many useful applications to their, one of them is to recover enough storage spaces that storage nargin safe in utilization guarantees user file.For example, the discarded rank that is assigned to file can be used to document cluster is remapped to the flash memory module of lower-performance, or removes this bunch when request.
The intelligent cache of big file
For method of managing data, such as aforesaid intelligent buffer, and the U.S. Patent No. 12/336 of the pending trial of submitting on Dec 16th, 2008, in 089 and the pending trial U.S. Provisional Application No.61/159 that submits on March 10th, 2009, the description and the feature of the intelligent buffer of describing in 034, both are cited and invest this, and the intelligent buffer that can discard file greatly technology is provided.This big file intelligent buffer, also being called intelligent buffer HD at this can not be from above disclosed various changes and expansion.Intelligent buffer HD is different from the intelligent buffer part and is that it provides and has added big file manager and support file greater than 4GB, this big file manager the time is handled the division of this file intelligently in conversion, keeps their big (>4GB) state simultaneously when being discardable at them.Particularly, this allows the management and retrieval of these files and abandoning of they, as individual unit rather than a series of littler file.
Assembly
The intelligent buffer assembly has been described in the block scheme of Figure 21.Intelligent buffer assembly 2100 can be in conjunction with a plurality of operating systems, such as ANDROID, the arbitrary operation among WINDOWS or the LINUX.Perhaps, on the intelligent buffer technology of this discussion can be at storage medium, such as the storage card that does not have operating system, realize.The New Parent that adds for intelligent buffer HD is big file manager 2102, and it handles dimensionally the file greater than 4GB.Big file manager is below described in more detail.
Can discard file greatly
Comprise that the file system that can discard file is conceptive to be organized as shown in the file system structure of Figure 22.File system structurally is similar to the standard FAT32 file system of setting up in SD-HC (with the high power capacity μ SD of correspondence) card.In can discarding file HD embodiment, can discard file and be stored among the shadow FAT (shadow FAT).
Shadow FAT
Original two FAT table uses the OxpFFFFFFF (EOF) of the right of priority of indication files rather than its actual chain or 0xp00000000 (unallocated) to distribute can to discard bunch.If most significant digit unit is a non-zero, seek advice from the 3rd FAT table to determine actual bunch chain-ordering.Be unlike in two original FAT tables, can discard FAT (DFAT) and can comprise bunch chain of being longer than 4GB.
Catalogue listing
The catalogue entry that can discard file has following element.The element that can encrypt is represented as blob (binary large object) in the encrypted variants of system, it can be by unified in single blob.At this these fields are described:
Type Masurium
Integer (main key) File ID
Integer Date created/reality
Lint-long integer Size (this is different from the intelligent buffer embodiment)
Integer/blob The first bunch number
Integer/blob Owner's user ID
Integer/blob Permission bitmap
Integer/blob Right of priority
Integer/blob The preview type
Integer/blob The preview size
Integer/blob Preview the first bunch number
Text Name space
Text Filename
Blob The charging reference
Integer/blob Last bunch number
Integer/blob Last bunch number
Integer Expiration date
Byte Effectively
Text Mime type (being different from the intelligent buffer embodiment)
Table 1: can discard the file directory clauses and subclauses
Attention: the integer size is 32.The lint-long integer size is 64.
Big file manager
Big file manager (LFM) is that the process processor of realizing in intelligent buffer HD (process handler) is handled the file greater than 4GB.Conceptive, LFM is made up of document parser and one group of predetermined splitting-up method, as shown in figure 23.LFM can implement on main frame, if or other intelligent buffer assemblies on memory device, then on memory device, implement.
Document parser use identification document (such as in the Linux file command, use those) and if the known method of seeking advice from this mime type---it is stored in can discard in the file directory clauses and subclauses---.Types of database is the simple table of the division processor of file type and their correspondences of incorporating in LFM.This diagram shows three division processors, though can incorporate additional division processor if desired into.Usually, the division processor will have and be used for following interface:
Checking can be discarded the structure of file;
The sum of the fragment that calculation document should be divided (though this will be normally the size of file divided by 4GB, the file layout constraint can need more file);
For each fragment of file is created leader; And
Calculate the side-play amount of each segment boundaries.
Carry out the actual division of file in the transition period described below.
Flow path switch
Flow path switch in intelligent buffer HD is shown in Figure 24.This processing 2400 is sentenced application call convert () function in step 2402 and is begun.Convert () function is authorized the processing of conversion via billing mechanism (as describing) in intelligent buffer is used in step 2402.If do not authorize this conversion, then cause security exceptions at step 2407 place at step 2406 place.If authorize this conversion at step 2406 place, then next step is in step 2408 place locking file system, so that other are handled and device driver is not revised it during conversion process, and allows refreshing file system after finishing this processing.Then; in step 2410 and 2412; bunch chain that distributes the file that will be converted in FAT1 that rolls up and FAT2 table with this chain and any existing placeholder (placeholder) the file de of placing for dosfsck protection purpose, and sorts to bunch chain if desired again.If this document total length is less than 4GB in step 2414, then in step 2416, create the catalogue entry of this document in 2418,2420 and 2422, and in step 2424, this document system is unlocked and refreshes, finish convert () flow process in step 2426.
If this document total length is greater than 4GB, then this processing proceeds to step 2428. greater than the file of 4GB HD media file normally, and it can be divided into the fragment with played in order.These fragments can be linked to together when playback, provide seamless playback to experience.But the fragment that simply file is split into 4GB may be cut off this document in the middle of frame, or causes one or more fragment loss signs or the required metadata (such as file header label) of playback this document.Therefore, each fragment begins with the metadata leader that is generated by LFM, is adapted to this form.Some file types are divided into fragment artificially, and such as document or executable file, and these files can not use this strategy to be converted into littler fragment.In this file, big file manager can use the compression storehouse (compression library) such as ZIP, and it supports division when keeping the order of file.Big file manager uses flow process shown in Figure 25 when convert file.
Management length is sentenced the conversion request of application and is begun in step 2502 greater than the processing 2500 of the file of 4GB.Read the leader of file in step 2504, and in step 2506,, then determine if file is a known type.If file is a UNKNOWN TYPE, then handle and proceed to step 2508, wherein, file is a plurality of files by using conventional method (a generic method) by transregional division (span into), and this conversion process continues at step 2510 pair transregional file.
If this document is a known type in step 2506, determine in step 2512 whether this document type supports transregional a plurality of files that are divided into.If file type is supported transregional a plurality of files that are divided into, then before proceeding to step 2510, in step 2514, the method by using the special use of this document type is divided into a plurality of files with file is transregional.But,, then before proceeding to step 2510,, use conventional method to be divided into a plurality of files with file is transregional in step 2508 if file type is not supported transregional a plurality of files that are divided into.
As the example of the method for file type special use, Figure 26 has described the simplification of normally used open source Matroska (mkv) container file format in high definition video steaming and has attempted.The Matroska file by file header label (but fat binary meta-language (EBML) leader), is a fragment then, and ends up with label usually.These files can be longer than 4GB, but this big file can not expression effectively in the FAT32 file system.In order to divide these files, fragment itself is divided into a plurality of files, and each file has its oneself EBML leader and fragment leader.In the fragment leader is the field of the file of auxiliary link division, as follows:
Figure BDA0000068676870000321
Table 2: frag info structure (part)
The processing of division Matroska file is included as the fragment allocation of each division and creates new MKV file, and encloses the fragment leader of EBML leader and rewriting for each fragment.
Big file manager is being undertaken by the special use division processor that uses each file type file type pellucidly on the spot under every kind of situation of division, incorporates into to various file types, such as the support of Matroska.By adding to bunch chain that comprises as shown in figure 27 new heading information bunch, and then by in this chain, dividing on the spot for each file interpolation new directory clauses and subclauses and to each file allocation FCN, and do not remove data in the file at suitable some place.(what be close to before FCN in chain bunch number will carry out EOF mark (marker).) similarly flow process also exist and be used for the alternative document type that in big file manager, comprises.Big file manager detects file type automatically and therefore creates division on the spot.
The application comprises the method and system that is used for the managed storage device.In one embodiment, the memory allocator that exists in main frame or memory device is received in the request of storage file in the storage area of memory device.This memory allocator mark this document in the file system structure relevant with this memory device and upgrades bunch chain that master file allocation table (" FAT ") will be assigned to this document and is associated with this document as discardable.The other renewal of this memory allocator can be discarded the physical location that FAT or database reflect file, maybe can generate one or more position papers of the physical location of storage this document.Then, memory allocator based on FAT and can discard, one or more position papers of physical location of database or indication this document come the managed storage device.
Below disclose many method and systems, and can implement in many ways.Some examples of the combination of embodiment below are provided, and still, these are not restriction, and conceive other features and combination.
In one embodiment, first method that is used for the managed storage device can comprise, memory device operation in the main frame that is coupled in: be received in the request of storage first file in the memory device of memory device, wherein, storer comprises main FAT and additional discarded FAT; Mark first file is as discardable, and being marked in the file system structure relevant with memory device of this first file carried out; Making memory device upgrade main FAT is associated bunch chain that is assigned to first file with first file; Make the memory device renewal can discard FAT and reflect the physical location of first file in memory device; And according to discarding the storage area that FAT comes the managed storage device.
In the method, bunch chain has been covered the physical location of at least the first file, and bunch chain of main FAT can point in the position that can discard among the FAT.Can comprise arbitrary or combination in following according to the storage area that can discard FAT managed storage device: be marked as discardable one or more file and recover to store nargin safe in utilization by optionally removing; Be marked as discardable All Files and discharge storage area by removing; Or with the memory module that bunch is remapped to lower-performance of first file.
First method can also comprise makes the attribute relevant with first file can prevent that host operating system from visiting this first file.Perhaps, this first method can also comprise the request of storage second file in the memory device that is received in memory device, and mark second file is as discardable, and being marked in the file system structure relevant with memory device of this second file carried out; Make memory device upgrade main FAT bunch chain be associated with second file that wherein, this bunch chain is associated with first file and second file; And make the memory device renewal can discard the physical location that FAT reflects second file.This bunch chain can be covered the physical location of first file and second file.
This above-mentioned first method can also comprise the request of storage second file in the memory device that is received in memory device, and mark second file is as discardable, and being marked in the file system structure relevant with memory device of this second file carried out; Making memory device upgrade main FAT is associated the second bunch of chain that is assigned to second file with second file; Make memory device upgrade and to discard the physical location that FAT reflects second file.
Perhaps, this first method can comprise mark first file as what can not discard, and being marked in the file system structure relevant with memory device of this first file carried out; Make memory device upgrade the physical location that main FAT reflects first file.Make memory device upgrade and to discard the physical location that FAT removes first file.The substitute mode of first method can also comprise the value of the conversion lock identifier that sign is relevant with this first file, determining whether can be with first file from discarding file conversion for can not discard file, wherein, determine the conversion relevant with first file lock the value of identifier indicate this first file not by locking after, first file is marked as can not discard file.
In another substitute mode of first method, can also comprise following additional step: identify the value of the conversion lock identifier relevant with this first file, determining whether can be with first file from discarding file conversion for can not discard file; And determine value that the conversion relevant with first file locked indicate this first file by locking after, prohibition flag first file is what can not discard.Perhaps, this first method can comprise file permission that sign is relevant with user ID and the preview file of being correlated with first file, and permits the visit of managing the preview file relevant with first file based on the file that is identified.User ID can be the user ID of sharing.
In first method, mark first file is discardable can comprising to the discarded priority of first file allocation.Perhaps, can comprise in following at least one to the discarded priority of first file allocation: in main FAT clauses and subclauses corresponding to first file, to m most significant digit respective value is set, or in file system, respective value is set to data field corresponding to first file.Can come to the discarded priority of first file allocation according in following any one: the expection of first file is used; With the relevant expected revenue of use this document; The file type of first file; The size of first file; The position of first file in memory device; And the age of first file.
In another embodiment, second method that is used for the managed storage device can comprise, in the memory device of the main frame that functionally is coupled in: be received in the request of storing first file in the memory device of memory device, wherein, memory device comprises main FAT and additional discarded FAT; Mark first file is as discardable, and being marked in the file system structure relevant with memory device of this first file carried out; Upgrading main FAT is associated bunch chain that is assigned to first file with first file; Renewal can be discarded FAT and be reflected the physical location of first file in memory device; And according to discarding the storage area that FAT comes the managed storage device.Bunch chain can be covered the physical location of at least the first file.Second method can also comprise makes the attribute relevant with first file can prevent that host operating system from visiting this first file.Bunch chain of main FAT can point in the position that can discard among the FAT.
In a variant, second method can also comprise the request of storage second file in the memory device that is received in memory device, and mark second file is discardable in first file system structure relevant with memory device; Upgrade main FAT bunch chain is associated with second file, wherein, this bunch chain is associated with first file and second file; And upgrade this and can discard the physical location that FAT reflects second file.In this variant, this bunch chain can be covered the physical location of first file and second file.
In another embodiment, second method can also comprise the request of storage second file in the memory device that is received in memory device, and mark second file is discardable in first file system structure relevant with memory device; Upgrading main FAT is associated the second bunch of chain that is assigned to second file with second file; And upgrade this and can discard the physical location that FAT reflects second file.
Perhaps, second method can also be included in mark first file in the file system structure relevant with memory device for discarding; Upgrade the physical location that main FAT reflects first file; And upgrade this and can discard the physical location that FAT removes first file.The substitute mode of second method can also comprise the value of the conversion lock identifier that sign is relevant with this first file, determining whether can be with first file from discarding file conversion for can not discard file, wherein, determine the conversion relevant with first file lock the value of identifier indicate this first file not by locking after, first file is marked as can not discard file.
Another version of this second method can also comprise the value of the conversion lock identifier that sign is relevant with this first file, and determining whether can be with first file from discarding file conversion for can not discard file; And determine value that the conversion relevant with first file locked indicate this first file by locking after, prohibition flag first file is what can not discard.Another version of second method can also comprise file permission that sign is relevant with user ID and the preview file of being correlated with first file; And permit the visit of managing the preview file relevant based on the file that is identified with first file.User ID can be the user ID of sharing.
In second method, mark first file is discardable can comprising to the discarded priority of first file allocation.Can comprise in following at least one to the discarded priority of first file allocation: in main FAT clauses and subclauses, to m most significant digit respective value is set, or in file system, respective value is set to data field corresponding to first file corresponding to first file.Perhaps, can come to the discarded priority of first file allocation according in following any one: the expection of first file is used; With the relevant expected revenue of use this document; The file type of first file; The size of first file; The position of first file in memory device; Perhaps age of first file.
In second method, comprise arbitrary or combination in following: be marked as discardable one or more file and recover to store nargin safe in utilization by optionally removing according to discarding storage area that FAT comes the managed storage device; Be marked as discardable All Files and discharge storage area by removing; Or with the memory module that bunch is remapped to lower-performance of first file.
A kind of memory allocator that is used for the managed storage device can comprise: communication interface, with the main frame interfaces of memory device and memory device; Storage unit is used to store the file system that is associated with this memory device; And the processor that is used to manage the file system relevant with memory device, wherein, this processor is configured to: be received in the request of storing first file in the memory device of memory device, wherein, memory device comprises main FAT and additional discarded FAT; Mark first file is as discardable, and being marked in the file system structure relevant with memory device of this first file carried out; Making memory device upgrade main FAT is associated bunch chain that is assigned to first file with first file; Make the memory device renewal can discard FAT and reflect the physical location of first file in memory device; And according to discarding the storage area that FAT comes the managed storage device.Bunch chain is covered the physical location of first file.Bunch chain of the one FAT can point to the position in the 2nd FAT.
Perhaps, this processor can further be configured to the request of storage second file in the memory device that is received in memory device, and mark second file is discardable in the file system structure relevant with memory device; Make memory device upgrade main FAT bunch chain be associated with second file that wherein, this bunch chain is associated with first file and second file; And make memory device upgrade the physical location that the 2nd FAT reflects second file.Wherein, this bunch chain is covered the physical location of first file and second file.
In another variant of above-mentioned memory allocator (locater), this processor can further be configured to the request of storage second file in the memory device that is received in memory device, and mark second file is discardable in first file system structure relevant with memory device; Making memory device upgrade main FAT is associated the second bunch of chain that is assigned to second file with second file; Make memory device upgrade and to discard the physical location that FAT reflects second file.The variant of this memory allocator can mark first file be what can not discard in the file system structure relevant with memory device so that processor further is configured to; Make memory device upgrade the physical location that main FAT reflects first file.Make memory device upgrade and to discard the physical location that FAT removes first file.In addition, this processor can also be further configured the value with the sign conversion lock identifier relevant with this first file, determining whether can be with first file from discarding file conversion for can not discard file, wherein, determine the conversion relevant with first file lock the value of identifier indicate this first file not by locking after, first file is marked as can not discard file.
In other embodiments, memory allocator can also make processor further be configured to the value of the sign conversion lock identifier relevant with this first file, and determining whether can be with first file from discarding file conversion for can not discard file; And determine the conversion relevant with first file lock the value of identifier indicate this first file by locking after, prohibition flag first file is what can not discard.Perhaps, the processor of memory allocator can also further be configured to sign file permission relevant with user ID and the preview file relevant with first file; And permit the visit of managing the preview file relevant based on the file that is identified with first file.
Also disclose a kind of storage system, had communication interface; And the memory allocator that is used to manage the file system relevant with memory device.This memory allocator can comprise the processor that is used for managing in the storage of one or more files of the storage area of memory device, and wherein, this processor is configured in the mode identical with above-mentioned memory allocator.In different embodiments, the memory allocator of storage system can be embedded in main frame or the memory device.Storage system can also be arranged so that in order to receive request via communication interface, processor is configured to the request that draws storage first file based on one or more write requests relevant with first file that receive via communication interface.
A kind of third party's method that is used for the managed storage device is also disclosed, wherein, this method comprises, in the main frame of memory device operation ground coupling, be received in the request of storing first file in the memory device of memory device, mark first file is discardable in the file system structure relevant with memory device; Making memory device upgrade FAT is associated bunch chain that is assigned to first file with first file; More new database reflects the physical location of first file in memory device; And the storage area that comes the managed storage device according to FAT and database.
A kind of cubic method that is used to manage the method that is used for the managed storage device comprises, in the memory device that functionally is coupled in main frame, be received in the request of storing first file in the memory device of memory device, mark first file is as discardable, and being marked in the file system structure relevant with memory device of this first file carried out; Upgrading FAT is associated bunch chain that is assigned to first file with first file; More new database reflects the physical location of first file in memory device; And the storage area that comes the managed storage device according to FAT and database.
The 5th method that is used for the managed storage device comprises and the relevant step of above-mentioned cubic method, but from the angle of main frame, rather than the angle of memory device.More specifically, the 5th method comprises, in the main frame of memory device operation ground coupling; Be received in the request of storing first file in the memory device of memory device, mark first file is discardable in the file system structure relevant with memory device; Making memory device upgrade FAT is associated bunch chain that is assigned to first file with first file; Upgrade position paper and reflect the physical location of first file in memory device; And the storage area that comes the managed storage device according to FAT and position paper.Position paper can be the file such as text or binary file.
A kind of the 6th method that is used for the managed storage device comprises: at the main frame of memory device operation ground coupling; Be received in the request of storing first file in the memory device of memory device, mark first file is discardable in the file system structure relevant with memory device; Making memory device upgrade FAT is associated bunch chain that is assigned to first file with first file; The order of in FAT, upsetting two or more bunches of bunch chain relevant with first file; Create the first scope file in FAT, this first scope file comprises at least one bunch of bunch chain relevant with first file; And the storage area that comes the managed storage device according to FAT and the first scope file.
The 6th method can also comprise the request of storage second file in the memory device that is received in memory device, and mark second file is discardable in first file system structure relevant with memory device; Make memory device upgrade FAT bunch chain be associated with second file that wherein, this bunch chain is associated with first file and second file; And the order of in FAT, upsetting two or more bunches of bunch chain relevant with second file; Perhaps, the 6th method can also comprise that the first scope file that is updated among the FAT comprises at least one bunch of bunch chain relevant with second file.
In the variant of the 6th method, this method can also comprise the request of storage second file in the memory device that is received in memory device, and mark second file is discardable in first file system structure relevant with memory device; Making memory device upgrade FAT is associated the second bunch of chain that is assigned to second file with second file; The order of in FAT, upsetting two or more bunches of the second bunch chain relevant with second file; Create the second scope file in FAT, this first scope file comprises at least one bunch of bunch chain relevant with second file; Wherein, the storage area according to the FAT and the first scope file management memory device comprises the storage area that comes the managed storage device according to FAT, the first scope file and the second scope file.
In another variant of the 6th method, this method can also be included in and create the second scope file among the FAT, this second scope file comprises at least one bunch of bunch chain relevant with first file that does not comprise the first scope file, wherein, the storage area according to the FAT and the first scope file management memory device comprises the storage area that comes the managed storage device according to FAT, the first scope file and the second scope file.
The 7th method that is used for the managed storage device comprises and the relevant step of above-mentioned cubic method, but from the angle of memory device, rather than the angle of main frame.More specifically, the 7th method comprises, in being coupled in the memory device of main frame, is received in the request of storing first file in the memory device of memory device, mark first file is as discardable, and being marked in the file system structure relevant with memory device of this first file carried out; Upgrading FAT is associated bunch chain that is assigned to first file with first file; The order of in FAT, upsetting two or more bunches of bunch chain relevant with first file; Create the first scope file in FAT, this first scope file comprises at least one bunch of bunch chain relevant with first file; And the storage area that comes the managed storage device according to FAT and the first scope file.The variant of the 7th method is parallel to those of above-mentioned the 6th method.
According to all directions method, a kind of main frame that is coupled in management method of operating relevant that is used at memory device operation with discarding file, comprise with owner's user ID with can discard file and be associated, wherein, can discard file comprises be marked as discardable file in the file system structure relevant with memory device; With the one group permission that should be used for define with can discard file relevant additional user ID relevant with owner's user ID; Carry out the request of operating relevant from the application reception relevant with discarding file with additional user ID; Determine based on this group permission whether the application relevant with additional user ID can carry out this operation; And determine to manage the operation relevant with discarding file based on this.
In the variant of all directions method, the application relevant with owner's user ID can be downloaded to memory device can discard file.Perhaps, relevant with discarding file operation can comprise the attribute that modification is relevant with discarding file.In other variants of all directions method, this method can also comprise reads the attribute relevant with discarding file.Attribute can be at least one in conversion lock identifier, timestamp, consumption intention universal resource indicator or the priority.The from all directions in other variants of method, this operation can comprise reads to discard file, writes to discarding file, writes the preview data relevant with discarding file or reads and can discard the preview data that file is correlated with.Can discard file and in different embodiments, can comprise preview data, or be different from preview data.
The further user ID of all directions method can be and a plurality of user-dependent shared user ID.Perhaps, the further user ID of all directions method can be the user ID shared relevant with a plurality of application.The from all directions in the other variant of method, can comprise and forbid that the application relevant with additional user ID carry out and can discard the operation that file is correlated with based on determining to manage the operation relevant with discarding file.The from all directions in the other variant of method, comprise and allow the application relevant to carry out and can discard the operation that file is correlated with additional user ID based on determining to manage the operation relevant with discarding file.
Also conceive a kind of storage system, had communication interface; And the memory allocator that is used to manage the file system relevant with memory device.Memory allocator can comprise processor, the operation that application management is relevant with the file of storing in memory device discarded, wherein, described processor be configured to owner's user ID with can discard file and be associated, wherein, can discard file comprises be marked as discardable file in the file system structure relevant with memory device; With the one group permission that should be used for define with can discard file relevant additional user ID relevant with owner's user ID; Carry out the request of operating relevant by communication interface from the application reception relevant with discarding file with additional user ID; Determine based on this group permission whether the application relevant with additional user ID can carry out this operation; And determine to manage the operation relevant with discarding file based on this.In order to manage the operation relevant with discarding file, processor can be configured to and allow the application relevant with additional user ID to read the preview data relevant with discarding file.Additional user ID can be and a plurality of user-dependent shared user ID, or the user ID shared relevant with a plurality of application.
A kind of the 9th method that is used for the managed storage device can comprise: at the main frame of memory device operation ground coupling; In memory device, store preview data; Preview data is associated with discarding file, wherein, can discard file and be in the file system structure relevant, be marked as with memory device discardable; And management is to preview data and the visit that can discard file, so that allow the application access preview data but do not allow its visit can discard file.Can discard file can be the preview data that is different from preview data.In the replacement embodiment of the 9th method, can discard file can be film, and preview data can be the movie trailer relevant with film; Can discard file can be TV programme, and preview data is the part of TV programme; Can discard file can be music data, and preview data is the part of music data; Maybe can discard file can be program, and preview data is the crippled version of this program.
Replace in the embodiment at one of the 9th method, management can comprise that management to preview data with the visit that can discard file so that allow be applied in can discard file relevant date issued before time period during visit preview data but do not allow its visit can discard file with the visit that can discard file so that allow the application access preview data but do not allow its visit can discard file to preview data.
Download management
For method of managing data, be also referred to as intelligent buffer and intelligent buffer ID, as above-mentioned, provide the intelligent buffer technology to manage to download and can discard file to the storage area of memory device.Usually, can be that the download manager of the part of above-mentioned memory allocator can determine whether to postpone to download to the storage area of memory device and can discard file based on the download condition in one embodiment, the download condition such as can be used for to memory device download the network that can discard file type, can be used for the power condition of memory device, the amount of time period relevant and/or the storage availability of being correlated with memory device with download the request that can discard file to memory device.
For example, download manager can be determined postpone to download and can discard file and can be used for downloading up to Wireless Fidelity (WiFi) network and/or cellular network and can discard file.Similarly, when the power that is coupled in power supply or the battery relevant with memory device at memory device is superior to intended level, download manager can determine not postpone download can discard file, but download manager can be determined to postpone to download to discard file when the battery relevant with memory device just charging and/or when the power rank of the battery relevant with memory device is lower than intended level.In addition, the file discarded that download manager can determine to postpone to download request when business is busy when network congestion may be high is the time in the evening up to, such as after 8 of evenings, when network may be not congested, and perhaps download manager can be determined to postpone to download the date of the file discarded of date request on weekdays up to weekend.Download manager can postpone to download in addition can discard file, up to can discard in storage file in the storage area of memory device before available memory in memory device be higher than intended level.
Figure 28 is used to manage process flow diagram from the method that can discard file to the storage area of memory device that download.In step 2802, be received in the request of storage file in the storage area of memory device, wherein, this document be discardable file and be associated with data structure that memory device is associated in data.In some embodiments, data structure can comprise file system structure.In step 2804, file is marked as " can discard file ".In some embodiments, the file system structure of data structure be labeled with the indication this document be to discard file.In other embodiments, this document itself be labeled with the indication this document be to discard file.
In step 2806, can be the download manager download condition definite and that this request that can discard file of storage is associated in the storage area of memory device of the part of memory allocator in some embodiments.For example, leave carry manager can determine to can be used for to memory device download the type of the network that can discard file, when downloading the power condition that can be used for memory device can discard file time the, date time relevant to memory device and/or determining the amount of the free memory in memory device with request from file to the memory device download that can discard.
In step 2808, download manager determines whether to postpone can discard file to the memory device download based on determined download condition, and in step 2801, whether download manager is managed and can be discarded the download of file to memory device based on postponing can discard determining of file to the memory device download.In step 2810, download manager can postpone can discard file to the memory device download, up to the satisfied parameter relevant with the download condition.For example, download manager can postpone to discard the download of file, can be used for to discard file up to WiFi network and/or cellular network to the memory device download, download manager can postpone to discard the download of file, the power of relevant battery is superior to intended level up to the coupling of memory device and power supply or with memory device, and/or the download manager download that can postpone to discard file up to store in the storage area at memory device can discard file before the amount of storage availability in memory device be higher than intended level.
In step 2812, can comprise that the memory allocator of download manager is to discard file based on tab file, the management file discarded that storage is downloaded in the storage area of memory device, as previously discussed.
To understand, and in some embodiments, can dispose one or more processors and carry out above-mentioned action with reference to Figure 28 based on the instruction of on storer, storing such as computer-readable nonvolatile storage medium.One or more processors can be positioned on the main frame, on the memory device or in both combinations.
Note, disclosed herein in related file system tab file and distribute discarded other method of level can have many useful applications to their, one of them is to recover enough storage spaces that storage nargin safe in utilization guarantees user file.For example, the discarded rank that is assigned to file can be used to document cluster is remapped to the flash memory module of lower-performance, or removes this bunch when request.
Article " one " and " one " are used herein to and refer to one or more than the grammer main body of (that is, an at least one) article, this depends on context.By example, depend on context, " element " means an element or more than an element.Term " comprises " being used herein to and means that phrase " includes but not limited to " and uses interchangeably with it.Term " or " and " and " be used herein to mean term " and/or " and can use interchangeably with it, unless other clearly indicated in context.Term " such as " be used herein to mean phrase " such as, but not limited to " and use interchangeably with it.
Described the embodiment of example of the present invention, art technology will understand that arbitrarily the modification of embodiment of the present disclosure will be within the scope of the invention.Therefore, the embodiment of replacement can comprise more multimode, identical module on module and/or the function still less.The disclosure relates to various types of mass storage device, such as being provided USB (universal serial bus) (" USB ") interface, USB flash drive (" UFDs "), multimedia card (" MMC "), secure digital (" SD "), flash card, flush memory device, non flash memory device spare, " key floppy disc (Disk-on-Key) " device that the SD of miniSD and microSD etc. drives.At this, the scope of following claim be can't help in this open restriction.Therefore, be intended to aforementioned detailed description and be regarded as exemplaryly and unrestricted, and understand, claim subsequently, comprise its equivalent intention definition the spirit and scope of the present invention.

Claims (28)

1. the method for a diode-capacitor storage device, this method comprises: memory device operation be coupled in wherein the main frame:
Be received in the request of storage file in the storage area of memory device, this document be discardable file and be associated with data structure that memory device is associated in data;
This document is labeled as " can discard file ";
Download condition definite and that this request that can discard file of storage is associated in the storage area of memory device;
Based on determined download condition, determine whether to postpone to download this discardable file to memory device;
Can discard determining to manage and to discard the download of file of file based on whether postponing to download to memory device to memory device; And
Based on mark this document is to discard file is managed the file of being downloaded discarded in the storage area of memory device storage.
2. according to the process of claim 1 wherein, the download that management can be discarded file comprises:
Delay is downloaded to memory device can discard file, up to the satisfied parameter relevant with the download condition.
3. determine that according to the process of claim 1 wherein the download condition that is associated with this request that can discard file of storage in the storage area of memory device comprises
Determine to can be used for downloading the network type that to discard file to memory device.
4. according to the method for claim 3, wherein, determine can be used for to download the network type that can discard file and comprise to memory device:
Determine that Wireless Fidelity (WiFi) network can be used for can discarding file to the memory device download.
5. according to the method for claim 3, wherein, determine can be used for to download the network type that can discard file and comprise to memory device:
Determine that cellular network can be used for can discarding file to the memory device download.
6. determine that according to the process of claim 1 wherein the download condition that is associated with this request that can discard file of storage in the storage area of memory device comprises:
Determine when the power condition that when the memory device download can be discarded file, can be used for memory device.
7. according to the method for claim 6, wherein determine to comprise when the power condition that when the memory device download can be discarded file, can be used for memory device:
Determine the coupling of this memory device and power supply.
8. according to the method for claim 6, wherein determine to comprise when the power condition that when the memory device download can be discarded file, can be used for memory device:
Determine that the battery relevant with memory device just is recharged.
9. according to the method for claim 6, wherein determine to comprise when the power condition that when the memory device download can be discarded file, can be used for memory device:
The power of determining the battery relevant with memory device is superior to intended level.
10. determine that according to the process of claim 1 wherein the download condition that is associated with this request that can discard file of storage in the storage area of memory device comprises:
Time on date definite and that this request that can discard file of storage is associated in the storage area of memory device.
11. determine that according to the process of claim 1 wherein the download condition that is associated with this request that can discard file of storage in the storage area of memory device comprises:
Determine storage can discard file in the storage area of memory device before available memory in memory device be higher than intended level.
12. according to the process of claim 1 wherein, data structure comprises the file system relevant with memory device.
13. according to the method for claim 12, wherein, it is to discard file that described file system structure is labeled with indication this document.
14. according to the process of claim 1 wherein, it is to discard file that described file itself is labeled with indication this document.
15. a storage system comprises:
Communication interface;
Processor is used for managing the storage at one or more files of the storage area of memory device, and wherein, described processor is configured to:
Be received in the request of storage file in the storage area of memory device, this document be discardable file and be associated with data structure that memory device is associated in data;
This document is labeled as " can discard file ";
Download condition definite and that this request that can discard file of storage is associated in the storage area of memory device;
Based on determined download condition, determine whether to postpone to download this discardable file to memory device;
Can discard determining to manage and to discard the download of file of file based on whether postponing to download to memory device to memory device; And
Based on mark this document is to discard file is managed the file of being downloaded discarded in the storage area of memory device storage.
16. according to the storage system of claim 15, wherein, in order to manage the download that can discard file, described processor also is configured to:
Delay is downloaded to memory device can discard file, up to the satisfied parameter relevant with the download condition.
17. according to the storage system of claim 15, wherein in order to determine and in the storage area of memory device, store the download condition that this request that can discard file is associated that described processor also is configured to:
Determine to can be used for downloading the network type that to discard file to memory device.
18. according to the storage system of claim 17, wherein, in order to determine to can be used for downloading to memory device the type of the network that can discard file, described processor also is configured to:
Determine that Wireless Fidelity (WiFi) network can be used for can discarding file to the memory device download.
19. according to the storage system of claim 17, wherein, in order to determine to can be used for downloading to memory device the type of the network that can discard file, described processor also is configured to:
Determine that cellular network can be used for can discarding file to the memory device download.
20. according to the storage system of claim 15, wherein in order to determine and in the storage area of memory device, store the download condition that this request that can discard file is associated that described processor also is configured to:
Determine when the power condition that when the memory device download can be discarded file, can be used for memory device.
21. according to the storage system of claim 20, wherein in order to determine that described processor also is configured to when the power condition that can be used for memory device when the memory device download can be discarded file:
Determine the coupling of this memory device and power supply.
22. according to the storage system of claim 20, wherein in order to determine that described processor also is configured to when the power condition that can be used for memory device when the memory device download can be discarded file:
Determine that the battery relevant with memory device just is recharged.
23. according to the storage system of claim 20, wherein in order to determine that described processor also is configured to when the power condition that can be used for memory device when the memory device download can be discarded file:
The power of determining the battery relevant with memory device is superior to intended level.
24. according to the storage system of claim 15, wherein in order to determine and in the storage area of memory device, store the download condition that this request that can discard file is associated that described processor also is configured to:
Time on date definite and that this request that can discard file of storage is associated in the storage area of memory device.
25. according to the storage system of claim 15, wherein in order to determine and in the storage area of memory device, store the download condition that this request that can discard file is associated that described processor also is configured to:
Determine storage can discard file in the storage area of memory device before available memory in memory device be higher than intended level.
26. according to the storage system of claim 15, wherein, data structure comprises the file system relevant with memory device.
27. according to the storage system of claim 26, wherein, it is to discard file that described file system structure is labeled with indication this document.
28. according to the storage system of claim 15, wherein, it is to discard file that described file itself is labeled with indication this document.
CN201080003585.2A 2009-03-10 2010-03-09 Download management of discardable files Active CN102257497B (en)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US15903409P 2009-03-10 2009-03-10
US61/159,034 2009-03-10
US25941809P 2009-11-09 2009-11-09
US61/259,418 2009-11-09
PCT/US2010/026596 WO2010104814A1 (en) 2009-03-10 2010-03-09 Download management of discardable files

Publications (2)

Publication Number Publication Date
CN102257497A true CN102257497A (en) 2011-11-23
CN102257497B CN102257497B (en) 2015-06-10

Family

ID=42335011

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201080003585.2A Active CN102257497B (en) 2009-03-10 2010-03-09 Download management of discardable files

Country Status (5)

Country Link
EP (1) EP2406733A1 (en)
JP (1) JP5715964B2 (en)
KR (1) KR20110127636A (en)
CN (1) CN102257497B (en)
WO (1) WO2010104814A1 (en)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9015209B2 (en) 2008-12-16 2015-04-21 Sandisk Il Ltd. Download management of discardable files
US9020993B2 (en) 2008-12-16 2015-04-28 Sandisk Il Ltd. Download management of discardable files
US9104686B2 (en) 2008-12-16 2015-08-11 Sandisk Technologies Inc. System and method for host management of discardable objects
US20120185638A1 (en) * 2011-01-14 2012-07-19 Daniel Schreiber Method and system for cache endurance management
WO2012096951A2 (en) * 2011-01-16 2012-07-19 Sandisk Technologies Inc. System and method for managing discardable objects
US9459807B2 (en) * 2013-03-14 2016-10-04 Qualcomm Incorporated Methods and systems for providing resources for cloud storage
JP6361130B2 (en) 2013-12-24 2018-07-25 株式会社ソシオネクスト File access program and file access method
CN108388496A (en) * 2018-01-23 2018-08-10 晶晨半导体(上海)股份有限公司 A kind of collection method of system log

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040127235A1 (en) * 2002-12-26 2004-07-01 Michael Kotzin Unsolicited wireless content delivery and billing apparatus and method
US7043506B1 (en) * 2001-06-28 2006-05-09 Microsoft Corporation Utility-based archiving

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4022971B2 (en) * 1998-02-16 2007-12-19 ソニー株式会社 Storage device and data deletion method
US6173316B1 (en) * 1998-04-08 2001-01-09 Geoworks Corporation Wireless communication device with markup language based man-machine interface
US20050044177A1 (en) * 2001-10-02 2005-02-24 Jelte Liebrand Mobile web browsing device
JP3816858B2 (en) * 2002-10-15 2006-08-30 株式会社東芝 Information distribution method
WO2005022941A1 (en) * 2003-08-27 2005-03-10 Siemens Aktiengesellschaft Method for the controlled delayed execution of software downloads
JP2005301455A (en) * 2004-04-07 2005-10-27 Ntt Docomo Inc Communication device, server device, and memory management method
JP4572592B2 (en) * 2004-06-14 2010-11-04 三菱電機株式会社 Storage device
JP2007148637A (en) * 2005-11-25 2007-06-14 Sony Corp Information storage device, information processing method and program
WO2007117251A1 (en) * 2006-04-12 2007-10-18 Thomson Licensing Delayed downloading video service using peer-to-peer (p2p) content distribution network
DE102007015535A1 (en) * 2007-03-30 2008-10-02 Siemens Ag Method for digital storage of data on a data storage with limited available storage space

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7043506B1 (en) * 2001-06-28 2006-05-09 Microsoft Corporation Utility-based archiving
US20040127235A1 (en) * 2002-12-26 2004-07-01 Michael Kotzin Unsolicited wireless content delivery and billing apparatus and method

Also Published As

Publication number Publication date
EP2406733A1 (en) 2012-01-18
WO2010104814A1 (en) 2010-09-16
JP5715964B2 (en) 2015-05-13
CN102257497B (en) 2015-06-10
JP2012520507A (en) 2012-09-06
KR20110127636A (en) 2011-11-25

Similar Documents

Publication Publication Date Title
CN103154948B (en) Card-based management of discardable files
US9015209B2 (en) Download management of discardable files
CN103154911B (en) For managing the system and method uploaded of the file in the high-speed cache storage system shared
CN102257491A (en) Discardable files
CN102257497B (en) Download management of discardable files
KR102240557B1 (en) Method, device and system for storing data
CN102292723A (en) Discardable files
CN102292720B (en) For the method and apparatus of the data object of management data storage system
CN110062925A (en) Snapshot metadata arrangement for converging
CN103473251A (en) File system snapshots method and system using selective tuple versioning in acomputing environment using processing devices
CN104160397A (en) Location independent files
US8205060B2 (en) Discardable files
US8375192B2 (en) Discardable files
US9020993B2 (en) Download management of discardable files
US20110320507A1 (en) System and Methods for Digest-Based Storage
US8849856B2 (en) Discardable files

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CP03 Change of name, title or address
CP03 Change of name, title or address

Address after: Israel Kfar Saba

Patentee after: Western data Israel Limited

Address before: Israel saaba

Patentee before: SANDISK IL Ltd.