CN102257497B - Download management of discardable files - Google Patents

Download management of discardable files Download PDF

Info

Publication number
CN102257497B
CN102257497B CN201080003585.2A CN201080003585A CN102257497B CN 102257497 B CN102257497 B CN 102257497B CN 201080003585 A CN201080003585 A CN 201080003585A CN 102257497 B CN102257497 B CN 102257497B
Authority
CN
China
Prior art keywords
file
memory device
marked
discardable
discard
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.)
Active
Application number
CN201080003585.2A
Other languages
Chinese (zh)
Other versions
CN102257497A (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

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

The download management of file can be discarded
Prioity claim
This application claims the U.S. Provisional Patent Application No.61/159 submitted on March 10th, 2009,034 (pending trial) and the U.S. Provisional Patent Application No.61/259 submitted on November 9th, 2009, the benefit of 418 (pending trials), its each entirety is cited and invests this.
Technical field
The present invention relates generally to memory device, and relate more specifically to the method and apparatus of the file managed in memory device.
Background technology
Add the use of non-volatile memory device in recent years rapidly, because they are portable and they have little physical size and large memory capacity.Memory device has been there is in various design.Some memory devices are regarded as " embedded ", mean they can not and the main process equipment being not intended to be worked from them by user remove.Other memory devices are removable, this means that user can remove them to another equipment from a main process equipment (such as, from digital camera), or replace a memory device with another memory device.
The digital content stored in memory device can derive from the main frame of memory device, and such as, the main frame of digital camera, a kind of example is caught image and they is translated as corresponding numerical data.Then, digital camera stores numerical data in the memory device therewith operated.The digital content stored in memory device can also derive from remote source: it can by data network (such as, the Internet) or communication network is (such as, cellular phone network) send to the main frame of memory device, and then download to memory device by this main frame.Remote source can be such as ISP or content provider.Be referred to as " publisher (publishers) " below ISP and content provider.
Along with the memory device in mobile handset increases in size and capacity, the new scene of content obtaining and consumption is just becoming feasible.Usually, the market application of the film that can use hand-held set to consume the server controlled from operator to download and the iTunes service of music, such as apple (Apple) and side dress (side-loaded) from the source of the slotMedia card of such as SanDisk.But in all these application, user must search the content that he wants to consume in earlier stage, indicates and authorizes the acquisition of this content, obtaining this content, then consume it.This reduces content owner and is provided for the ability of the content of 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 dominates people (initiatives) has been innovated and has been loaded into content in advance to user, but they suffer a common defect: user must sacrifice its oneself memory capacity to store content, but can not access this content until buy it.The user that must buy this performance usually do not want to see be assigned to them can not the actual content used very most of.
The user of memory device can be intended to media content download and advertisement by asking from publisher media content or advertisement.But, sometimes, want to improve they publisher of income and send content to user, and do not inquire their license, and sometimes even user do not know that this content is downloaded to their memory device.The content that publisher sends to user and do not allow them learn is referred to herein as " spontaneous content ".Usually, unsolicited content intention is consumed after payment or after publisher's expense is paid in trust by user.
By downloading unsolicited content to the memory device of user, publisher wishes user by this unsolicited content of final consumption with acquisition expense, increases their income thus.Store unsolicited content on the storage device and do not require that the publisher that user learns wishes that this user will consume these contents to obtain expense, the practice of this publisher is known as " prediction consignment (predictiveconsignment) " in media releasing field.But unsolicited content can still be stored in memory device, and it exists or wants to consume it not need the user of memory device to learn.In memory device, store unsolicited content decrease available (that is, idle) user storage space on the storage device, this is less desirable from the angle of user.User can find to exist in memory device less space come for user oneself content (such as, music file), because other people (namely, some publishers) occupy part storage space on memory device, or user may must regain the storage space that (reclaim) so obtain by deleting unsolicited content.
Comprising the partial solution of this problem of the part storage space occupying user stops publisher to the access of memory device, such as by stoping the website of publisher.This solution may be acceptable to user, but it is problematic from the angle of publisher, because publisher will obtain less sales volume and lose potential income source.Another part solution of this problem is comprised to main frame content distributed (that is, stores content files in the memory device of these main frames), and removes this content when it becomes uncorrelated.In other words, the publisher creating this content removes stored unsolicited content when this content becomes uncorrelated from memory device.If have passed through the time for its consumption, maybe when there is this user and can not consuming its instruction, unsolicited content has been regarded as uncorrelated.
Therefore, occur managing hand-held storer intelligently so that user freely uses their storer and do not incur loss, simultaneously still makes content owner can push the needs of the new technology of content to hand-held set.In other words, there are the needs solving and there is the problem of unsolicited file.Particularly, when publisher should be allowed to download unsolicited content to memory device in the process of carrying out its business, these downloads should not have to Consumer's Experience the effect hindered in essence.
Summary of the invention
Therefore, unsolicited file will can be stored valuably at memory device, as long as hold the storage space needed for them not need concerning the file of user in memory device, and remove unsolicited file to ensure the idle storage space of minimum dimension for user file from memory device.Various embodiment is designed to realize this file management, and its example is provided at this.
In order to solve the problem, it is can not to discard or discardable that the file that the file of the storage in memory device maybe will store is marked as in the structure being the file system that memory device is associated.What the file of each mark was associated with it is discarded priority.The file of new issue business (namely, unsolicited file) in memory device, only store its not constriction storage use safety nargin, just be allowed to store in memory device, for user file outside the nargin that this storage use safety nargin is reserved in expectation.On the other hand, even if user file is also allowed to be stored in memory device when their the storage use safety nargin of storage constriction beyond desired width.But, in this case, one or morely discard the desired width that file recovers storage security nargin by removing from memory device.If file can be discarded to be removed from memory device when its discarded priority is equal to or higher than (or, lower than, as described in this) predetermined discarded threshold value.
The storage area that download manager manages to memory device based on one or more download condition is downloaded and can be discarded 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 file is discardable file and is associated with the data in the data structure be associated with memory device; In some embodiments, data structure can comprise the file system structure relevant to memory device.This file is marked as can discard file.In some embodiments, the file system structure of relevant to discarding file data structure is labeled to indicate this file to be to discard file.In other embodiments, file itself is marked as and can discards file.
Download manager determines that the download condition relevant to this request stores in the storage area of memory device can discard file, and download manager determines whether to postpone to download can discard file to memory device based on the download condition determined.Download manager manages can discard the download of file to memory device based on whether postponing to download to memory device the determination can discarding file.In some embodiments, download manager can postpone to download can discard file to memory device, until meet the parameter relevant to the condition of download.Then, the memory allocator that can comprise download manager is to discard file based on tab file, manages the file discarded storing in the storage area of memory device and download.
Accompanying drawing explanation
Illustrate various example embodiment in the accompanying drawings, it is not restrictive for being intended to these examples.To understand, in order to illustrated simplification and removing, the element shown in the figure below quoted not necessarily is painted as proportional.And it is suitable to be considered, repeat reference numerals identical, corresponding or similar element can be indicated among the figures.
In accompanying drawing:
Fig. 1 is the block scheme of the storage system according to example embodiment;
Fig. 2 is the block scheme of the storage system according to another example embodiment;
Fig. 3 is the block scheme of the memory allocator according to example embodiment;
Fig. 4 is the method for management document according to example embodiment;
Fig. 5 is the method for the storage for managing the file discarded in memory device according to example embodiment;
Fig. 6 is for the method for being marked at the one or more unsolicited file in the file system of FAT 32 structure according to example embodiment; Fig. 7 is the example directories region showing with FAT 32 to be associated;
Fig. 8 shows according to the FAT 32 of example embodiment;
Fig. 9 shows according to the NTFS of example embodiment;
Figure 10 is the logical image of the file system based on FAT according to example embodiment; And
Figure 11 demonstrates the memory management method of the file according to this operating mode.
The main FAT of Figure 12 a examples shown.
Figure 12 b examples shown can discard FAT.
Figure 13 is for using main FAT and can discarding the process flow diagram that FAT carrys out the method for managed storage device.
Figure 14 is the process flow diagram for using FAT and database to carry out the method for managed storage device.
Figure 15 is the process flow diagram for using FAT and position paper to carry out the method for managed storage device.
Figure 16 illustrates the example FAT comprising bunch chain, and wherein, the order forming two or more bunches of this bunch of chain 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 of chain bunch in two or more orders upset.
Figure 18 is the process flow diagram of the method for using FAT managed storage device, and wherein, the order of two or more bunches of composition bunch chain is upset.
Figure 19 be for use conversion lock (conversion lock) prevent when can discard file realize main FAT and can discard FAT file system in open time change and can discard file.
Figure 20 is shown in example bitmask (mask) user ID in file system.
Figure 21 illustrates the client side component of intelligent buffer.
Figure 22 illustrates the file system structure can discarding file, as revised for intelligent buffer HD.
Figure 23 is the block scheme for the large files manager used in intelligent buffer HD system.
Figure 24 describes the flow path switch can discarding greatly file.
Figure 25 is that diagram large files manager is to process the process flow diagram of the method for convert requests.
Figure 26 describes as can by the Matroska file structure of the example of file divided.
Figure 27 describes the Matroska file of division.
Figure 28 downloads for the storage area managed to memory device the process flow diagram can discarding the method for file.
Embodiment
Following description provides the various details of example embodiment.But this description is not intended to limit the scope of claim, but describes various principle of the present invention on the contrary and put into practice its mode.
In order to solve unsolicited content and to problem, user file is given compared to the memory priority of alternative document, and stores use safety nargin and be maintained to ensure this right of priority." user file " is that the user view of memory device stores or agreed to its file stored in memory device.Such as, the music file that user downloads to the memory device of s/he is regarded as user file.Asked by user or agree to store, user file is regarded as " (solicited) that implore " file.
" alternative document " is referred to herein as " publisher's file " and " unsolicited (unsolicited) file "." publisher's file " is the file stored in memory device, and user does not ask it or learns it; At least a period of time does not also have.User may not want to use unsolicited file.Untapped unsolicited file is tending towards the expensive storage device be consumed on the memory device of user.Therefore, according to principle disclosed herein, this file only have store they not constriction store use safety nargin and be just allowed to be stored in memory device.Memory priority is presented to user file by the idle storage space (that is, storing use safety nargin) maintaining the file by being preserved for following user.Store use safety nargin must be maintained user file can be stored in memory device when ensureing to need at any time or expect.
If in order to some reasons, store use safety nargin narrower than what expect, one or more unsolicited file will be removed from memory device to recover to store use safety nargin.Maintain and store the storage space that use safety nargin ensures to be used for additional user file, if this file is downloaded to memory device.Finally, unsolicited file is marked as " discardable " in the structure of memory file system, and if need, be removed to regain (reclaim) after a while and at least maintain idle storage space needed for storage use safety nargin.
Because user uses various possibility of discarding file can may discard between file and another different at one, therefore, according to one or more standard, such as use the possibility of file, the possible income with using file to be associated, the size of file, the type of file, the position of file, the age etc. of file, distribute discarded priority in advance each unsolicited file (that is, each discard file).Such as, discarded priority may can be determined by the potential of income.According to another example, movie promos or advertisement will have the discarded right of priority higher than actual film, because user does not like 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 user uses, and this means that this file will be last (one or more) file removed from memory device.In other words, the use possibility can discarding file is higher, and the rank being assigned to the discarded priority of this file is lower.Even if discard file if one or more to be removed, the storage use safety nargin also incomplete recovery expected, removes the additional file discarded by from memory device, until the storage use safety nargin expected is resumed.
Briefly, the data structure of such as file system realizes for storing the method with organize computer files.File system comprise organizing for storing, level, handling, navigating, the set of the abstract data type accessing and extract data and implement and metadata.Abstract data type and metadata form " directory tree ", can be accessed, handle and start-up simulation machine file (at this also referred to as " data file " or " file ") by it." directory tree " generally includes root directory and optional sub-directory.Directory tree is stored in file system as one or more " catalogue file ".The metadata comprised in file system and the set of catalogue file are referred to herein as " file system structure ".Therefore, file system comprises data file and contributes to accessing, handle, upgrade, delete and starting the file system structure of this data file.
File allocation table (" FAT ") is the file system architecture of example.FAT file system with comprise DR-DOS, the various operating systems of OpenDOS, MS-DOS, Linux, Windows etc. use together.The file system of FAT structure use centralized stores which storage area to be idle about or be assigned be stored the table of where information on the storage device with each file.In order to limit the size of this table, to the file allocation storage space in the group of contiguous sector being called " bunch ".Because memory device develops, bunch maximum quantity to have increased and quantity for the position to identify bunch increases.The version of FAT form derives from the quantity of epi-position: FAT 12 uses 12; FAT 16 uses 16, and FAT 32 uses 32.
Another file system architecture is known as New Technology File System (" NTFS ").At present, NTFS is Windows NT, comprise its version Windows 2000, Windows XP after a while, Windows Server2003, Windows Server 2008, and the standard file system of Windows Vista.FAT32 and NTFS is the Example file system that can provide to memory device 100.
Fig. 1 shows typical memory device 100. memory device 100 and comprises the storage area 110 storing various file (such as, music file, video file etc.), and some in various file 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 area 110.Memory controller 120 also communicates 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 such as nand flash memory type.Memory controller 120 by controlling such as " to read ", " writing " and " erasing " operation, loss balancing etc. pass through communicating of control and main frame 140, to control/transmit from all data of storage area 110 and go/transmit from the data of main process equipment 140.Storage area 110 can comprise such as user file and publisher file, be allowed to only by authorization host equipment use protected data and only by memory controller 120 inside use secure data.Main frame (such as main frame 140) can not direct territory, access storage areas 110.That is, if such as main frame 140 requires or needs the data from memory device 100, main frame 140 must ask it from memory controller 120.In order to contribute to the easy access to the data file stored in memory device 100, memory device 100 has been provided file system 160.
Storage area 110 is functionally divided into three parts: user area 170, publisher region 180 and idle storage space 190.User area 170 wherein stores the storage space in the storage area 110 of user file.Publisher region 180 wherein stores the storage space in the storage area 110 of publisher's file.Idle storage space 190 is storage spaces of the sky in storage area 110.Idle storage space 190 can be used to keep user file or publisher's file.When storing user file in idle storage space 190, the storage space of user file is kept to deduct from idle storage space 190 and add user area 170 to.Similarly, when storing user file in idle storage space 190, the storage space of publisher's file is kept to deduct from idle storage space 190 and add publisher region 180 to.If remove (namely, deleting) user file or publisher's file from storage area 110, the storage space idled 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 will be able to be stored in idle storage space 190 to the user file that storage area 110. is downloaded from main frame 140 download user file, and as previously discussed, the storage space of this file is kept to be deducted by the storage space 190 from the free time and to be added to user area 170. described above, user file has higher than other (such as, publisher) right of priority of file, and in order to ensure this right of priority, the storage use safety nargin expected is set up, if and need, recover in mode described below.
Main frame 140 comprises memory allocator 144 and contributes to recovering idle storage space 190.Memory allocator 144 can be hardware, firmware, software or its combination.Usually, memory allocator 144 determines that the file (such as file 142) communicated to main frame 140 is user file or publisher's file, and then therefore mark the file (that is, as not discardable file or as discardable file) communicated.
If memory allocator 114 determines that the file (such as, file 142) communicated to main frame 140 is not discardable, such as, because user is user file, then memory allocator 144 stores this file in a conventional manner in storage area 110.As mentioned above, the storage space can not discarded in the storage area 100 of file is kept to be added to the part of user area 170 or user area 170.But if memory allocator 144 determines that the file communicated to main frame 140 is not discardable, such as, because it is publisher's file, then memory allocator 144 marks this file as discardable.To understand, in some embodiments, in order to tab file is as discardable, the file system structure that memory allocator 144 is marked in file system 160 is to discard file to indicate this file.In other embodiments, in order to mark this file as discardable, memory allocator 144 tab file itself is as discarding file.If idle storage space 190 is greater than the storage use safety nargin of expectation, memory allocator 144 is the file discarded of storage mark in idle storage space 190 also, and as mentioned above, (namely the storage space that maintenance can be discarded in the idle storage space 190 of file deducts from idle storage space 190, idle storage space is subtracted), and add to publisher region 180 (this is added on to be known as in logic and can discards file 182).
As mentioned above, the possibility that publisher's file can be used by user may change between publisher's file and another, and this makes publisher's file with minimum probability of use become the first candidate for removing from storage area 110.Therefore, except tab file is not as except discardable or discardable, before can discarding file and being stored in storage area 110, time or afterwards memory allocator 144 discard priority to each file allocation of discarding.
By tab file as not discardable or as discardable, discarded priority is distributed and by using the file system 160 (or its reflection) of memory device 100, the quantity of the user file of memory allocator 144 " learning " in storage area 110 and publisher's file and its size and the logical place in storage area 110 by memory allocator 144.Know this information (that is, the quantity of file, size and position), and particularly based on the file of one or more mark, memory allocator 144 managing storage area 110 and implore with the storage of unsolicited file in storage area 110.The storage of managing storage area 110 or the file of management in storage area 110 can comprise and is such as marked as discardable one or more file recovers to store use safety nargin by optionally removing, be marked as discardable All Files discharge storage area by removing, and by the memory module bunch being remapped to more low performance of file.Managing storage area 110 or this file stored can comprise managing storage area 110 or this file stored other, additional or replace in.
Memory allocator 144 is also known, by the discarded rank of discarding file allocation to each, maybe can should discard (namely delete from storage area 110 or remove) and the rank of file can be discarded to revert to the idle storage space (that is, recovering the storage use safety nargin expected) of following user file original reservation.Therefore, if user wants to store new user file in storage area 110, but there is no enough idle storage space to hold this user file (this means to store use safety nargin narrower than what expect), memory allocator 144 uses and is assigned to the discarded priority can discarding file and comes to delete one one by one iteratively and can discard file, regain more idle storage space (namely, the storage space 190 that expansion is idle), until the storage use safety nargin expected is always completely recovered.As mentioned above, the storage use safety nargin recovered completely ensures that enough idle storage space are reserved the high likelihood of the user file for future.Only in response to receiving the request storing new user file, just remove or delete can discard file from memory device 100, because consider that user may want to use the file discarded stored sometimes, and therefore, only have new user file to need to hold the storage space of this file, just remove can discard file from memory device.Memory allocator 144 can be embedded into or be incorporated in main frame 140, or it can reside in the outside (being shown as dotted line frame 144 ') of main frame 140 and memory device 100.
Memory allocator 144 has the representativeness reflection of memory device 100 or relative file system.Memory allocator 144 uses the file system image of memory device to carry out tab file as not discardable or as discardable, and discards rank to each file allocation of discarding.In one example in which, file system comprises FAT, and in this case, in the unused portion of the FAT entry relevant to this file, carries out this mark by arranging one or more untapped position.Because different file system has different structures, tab file (namely as can not discard or discardable) and distribute the file system structure that discarded rank is applicable to use, as detailed description following in Fig. 6 is to 10.
Fig. 2 is the block scheme of the convenient storage device 200 according to 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 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 resource request of storage file storage area 210 from main frame 240, whether this request comprises this file is the instruction can discarding file, and memory controller 220 notifies whether this storage resource request of memory allocator 244 and this file are discardable.Then, memory allocator 244 marks this article part and maybe can discard as discarding in the structure of the file system relevant to memory device 200.Usually, the application that main frame 240 runs determines that file to discard file, and indicates this file to be to discard file to memory controller 220 transmission mark or other instructions.The application that main frame 240 runs sends mark or other instructions as the part of storage protocol of asking storage file on the storage device.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 discards priority according to the probability of use of user to new file allocation.Then, the current size of idle storage space 290 assessed by memory allocator 244, and whether decision should remove from storage area 210, and (that is, deleting) is one or more discards file to be new file making space.If should remove a discardable file or multiple file from memory device, memory allocator 244 determines that (a bit) file is the current candidate file for removing.Then, memory allocator 244 notifies the file discarded that memory controller 220 should remove from storage area 210, and in response to this notice, memory controller 220 removes the discardable file or multiple file that are indicated by memory allocator 244.In some configurations of convenient storage device 200, memory allocator 244 can be functionally arranged between memory controller 220 and storage area 210.Memory allocator 244 is by the configuration that is functionally arranged between memory controller 220 and storage area 210 wherein, and memory allocator 244 or storage area 210 must suppose some of the function of memory controller 220.In this configuration, storage area 210 is by be formed higher than the memory cell of the higher level communication of quick flashing NAND agreement.
Fig. 3 is the block scheme of the memory allocator 300 according to example embodiment.Memory allocator 300 comprises the reflection of file system structure that memory cell 310, processor 320 and interface 330. memory cell 310 can keep file system structure or be associated with memory device (such as, the memory device 200 of Fig. 2).Processor 320 manages the file system be associated with this memory device.Interface 330 goes for the memory controller cooperation with main frame and memory device, as shown in Figure 1, or only with the memory controller cooperation of memory device, as shown in Figure 2.
Processor 320 be configured or be applicable to via interface 330 receive request in the storage area of memory device storage file and mark in the structure of the file system be associated with the memory device that memory allocator 300 therewith operates this article part as discardable or conduct not discardable.If interface 330 functionally attaches to the memory controller 220 (and therefore receive the USB/MSC order of such as SCSI or packaging, instead of the order of file-level) of Fig. 2, the request received is in the rank more much lower than file-level.That is, the request received will be the request in memory sector, LBA (Logical Block Addressing) place, and when the translation suitable by main frame, this LBA (Logical Block Addressing) will corresponding to a file.If the internet file system agreement of NVMHCI agreement or such as NFS or similar agreement supported by memory controller 220, memory controller 220 can obtain the request of file-level.Therefore, the communication between the memory controller and the interface of such as interface 330 of such as memory controller 220 is not limited to NVMHCI or is similar to the embodiment of NVMHCI.Communication interface 330 can be one with memory allocator 300, as shown in Figure 3.
Processor 320 is also configured or is applicable to send tab file to memory device, marks this file and discards priority as discardable comprising to this file allocation.If the file system used by memory device is based on FAT, processor 320 is by arranging corresponding value to m (that is, the highest effectively) position (such as, m=4) the highest, and the file allocation to mark discards priority.The respective value being set to the most significant digit in FAT entry or the value being set to NTFS catalogue entry can be, or it can be relevant to the attribute of file.By " attribute ", mean the metadata tag in the leader portion shown at FAT table or NTFS or certain data structure, this FAT table or NTFS table comprise the information of the type belonging to the content stored in this table." advertisement ", " reward content " and " promoting (free time) content " be can FAT table or in NTFS table the content of the exemplary types of storage.The replacement standard arranging discarded rank is the file, document size, file type etc. of such as last access.
The quantity m being exclusively used in the most significant digit of the FAT32 entry 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.Such as, three positions (that is, m=3) are used to provide eight (2 3=8) discard 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 not discardable file).In other words, if mark file be not discardable, the value of m most significant digit is set to 0 by described processor, if or mark file be discardable, the value of m most significant digit is then set to 1 and 2 mvalue between-1.Discarded priority comprises the right of priority that tab file can or should be discarded from memory device.Such as, depend on embodiment, value " 1 " can represent by lowest priority or with the discardable file of highest priority, and value " 2 m-1 " can expression highest priority or with the discardable file of lowest priority respectively.
Processor 320 can use according to the expection of file, combines probability or the possibility that will be used unsolicited file by the user of memory device as mentioned above, comes to distribute discarded priority to tab file.Processor 320 can when receiving each request storing new file 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.Such as, be previously that the file of high priority can have the right of priority reduced after a specific amount of time.Processor 320 detects the file stored in memory device, if this file has the relative discarded priority being equal to or greater than predetermined discarded threshold value.Processor 320 quantity that can write based on file or add is come (again) and is arranged discarded threshold value, or depends on the availability of expection use to the idle storage space on memory device or new issue business file.
Memory cell 310 can keep comprising the allocation table 340 of processor 320 to the discarded priority of the file allocation stored in memory device.In addition, allocation table 340 information that can keep the identifier of file and file is associated with the discarded priority being assigned to file.Allocation table 340 can keep discarded threshold value in addition.The information kept in allocation table 340 allows processor 320 to identify can remove from memory device the storage use safety nargin which or which file recovers expectation.
In response to being received in memory device the request storing new file, the size of idle storage space on the storage device assessed by processor 320, if and the about preliminary dimension of assessment size of idle storage space (f) on memory device, then in memory device, store new file, if or it is not more than preliminary dimension, processor 320 is searched for and is one or morely discarded file in the memory device that can delete, and when finding these one or more files, processor 320 deletes this file or multiple file to expand the storage space (f) of current idle, so that the overall dimensions expanding idle storage space is equal to or greater than preliminary dimension.If with can discard the discarded priority that file is associated and be equal to or greater than predetermined discarded threshold value (such as, (comprising this number) between 1 and 15, such as 15), a discardable file or multiple file can be deleted from memory device.
After idle storage space is expanded enough, processor 320 allows the new file of size in expansion idle storage space.Represented by " idle storage space is expanded enough " and expand idle storage space until total idle storage card can hold new file and not have the storage use safety nargin (margin) of the above-mentioned expectation of constriction by the storage space of release busy one by one, or the overall dimensions of the idle storage space of final until expansion is equal to or greater than preliminary dimension, or until removes and allly discard file.
Controller 320 can be system (" SiP ") device or General Porcess Unit in (" the SoC ") device of system on chip under the frame of standard or packaging, has the specific software of carrying out step described here, operation and assessment upon being performed.Or processor 320 can be the ASIC(Application Specific Integrated Circuit) (" ASIC ") implemented by using the step of hardware description, operation and assessment
Fig. 4 is the method for storing discardable file according to an example embodiment.Composition graphs 1 describes by Fig. 4.In step 410, main frame 140 is received in the request of storage file 142 in memory device 100.At step 420 which, memory allocator 144 marks this file as " can discard " or as " not discardable ", and in step 430, if idle storage space 190 is enough large, memory allocator 120 then to memory device 100 sends tab file (that is, for storing in storage area 110).Also in the meaning of discarding priority to file allocation, this article part is marked.In step 440, memory allocator 144 is based on the file marked and alternatively based on the file that the one or more files be labeled carry out (by communicating with memory controller 120) managing storage area 110 or store in storage area 110.
Fig. 5 is the method for the storage for managing the file discarded in memory device according to an example embodiment.Explicitly Fig. 5 will be described with Fig. 1.New file is the candidate for storing at memory device 100.What obtain the file system 160 of cicada memory device 100 works as before image, in the current size " f " that step 510 assesses idle storage space 190, memory allocator 144 checks its current size is whether the idle storage space 190 of f can hold this new file (that is, as the file of the candidate for storing).Usually, memory allocator 144 depends on that new file is user file or publisher's file is to process this new file.Therefore, first memory allocator 144 determines that this new file is user file or publisher's file.
this new file is 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 hold this new user file (being depicted as in step 520 " Y "), memory allocator 144 stores new user file in step 560 in idle storage space 190, and do not consider the storage use safety nargin expected whether owing to storing new user file by constriction.If (namely the storage use safety nargin expected narrow after memory allocator 144 stores new user file in idle storage space 190, storage use safety nargin relative to expecting), memory allocator 144 does not take further action for the storage of new user file.
But, if the storage use safety nargin expected narrows after memory allocator 144 stores new user file in idle storage space 190, step 550 comprises additional step, wherein, memory allocator 144 determines that the file discarded which stores should be first deleted, which can discard file should be secondly deleted, etc., to maintain the storage use safety nargin expected.To the discarded rank of stored discarded file allocation, memory allocator 144 determines which can discard file based on memory allocator 144 should be first deleted, and which can discard file should be secondly deleted, etc.
If determine that idle storage space 190 can not hold this new user file (being depicted as in step 520 " N ") in step 520 memory allocator 144, then idle storage space 190 and whether enough for storing this new user file upon combination by the storage space can discarding file trumpet determined in step 530 by memory allocator 144.If the storage space of combination enough (being depicted as in step 530 " N "), this means no matter how many deletions can be discarded file, new user file all can not be stored in " non-user " storage area due to its larger size.If the storage space of combination enough (being depicted as in step 530 " Y "), memory allocator 144 search in the stored file discarded in step 540 which can discard file can be deleted so that enough storage spaces of release new user file.Memory allocator 144 can discard file by using the file system of memory device 100 to search for these because as above, memory allocator 144 in the file system of memory device tab file as not discardable or discardable.In addition, be also 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.
When finding the file discarded (" DF ") (being called as " DF1 " below this file) that first go out of use, memory allocator 144 deleted file DF1 is to add or to return its storage space (being called as " SP1 " below this 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 finally returned, or f+SP1) of expansion can hold new user file.If the idle storage space 190 of expansion (namely, f+SP1) new user file (being " N " shown in step 550) can not still be held, memory allocator 144 repeat step 550 (this iteration illustrates at 555 places) iteratively 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 (this next can discard below file be called as " DF2 ") with time the highest discarded right of priority, memory allocator 144 deleted file DF2 discharges storage space 190 discharge and to add the storage space (this storage space added is hereinafter referred to as " SP2 ") added.Then, in step 550, memory allocator 144 checks whether the idle storage space 190 (that is, idle storage space 190 adds two storage spaces just now discharged, or f+SP1+SP2) of expansion can hold this new file again.If expansion idle storage space 190 (i.e. f+SP1+SP2) still can not hold this new file (shown in step 550 be " N "), then memory allocator 144 repeat step 540 again in case find should be deleted next file discarded.Memory allocator 144 iterative step 540 and 550 is until the idle storage space 190 of accumulation can hold this new user file (being " Y " shown in step 550).Then, in step 560, memory allocator 144 stores this new user file in storage area 110.
As mentioned above, if the storage use safety nargin that the storage use safety nargin of reality becomes than expecting after memory allocator 144 stores new user file in idle storage space 190 is narrower, step 560 can comprise additional step, wherein, memory allocator 144 determines that the file discarded which stores should be first deleted, which can discard file should be secondly deleted, etc., to recover the storage use safety nargin expected.
this new file is publisher's file.
If new file is publisher's file, only have idle storage space 190 can hold the storage use safety nargin of this new issue business's file and the expectation of non-constriction, memory allocator 144 just stores (in step 560) this new issue business file in storage area 110.That is, if the storage use safety nargin that storage new issue business file will cause constriction to be expected, then memory allocator 144 can determine in storage area 110, do not store this new issue business file.In this case, memory allocator 144 can be avoided taking any action to this file, and not from memory device deleted file carry out the storage space of release new publisher file.Or memory allocator 144 can delete the file discarded of one or more more high priority in step 540 so that the file the discarded release storage space for having lower discarded right of priority.As mentioned above, file is tagged to and discarded rank is embedded in the file system of memory device 100, and the file mode be labeled and the discarded rank be embedded in file system depend on or go for used file system.
Fig. 6 is for the method for being marked at the unsolicited file in the file system of FAT 32 structure according to example embodiment; The file system use bunch of FAT 32 structure.As above in conjunction with FAT 32 structure file system described in, the quantity for the position identifying FAT 32 bunches is 32.Fig. 6 will describe explicitly with Fig. 1.
In step 610, m the most significant digit (wherein m < 4) of 32 of each bunch of FAT 32 is assigned with or is exclusively used in tab file as not discardable or as discardable, as situation may be, and for being each discarded rank of discarding file and keeping corresponding.Rank is discarded by arranging respective value to carry out to the m position be assigned with corresponding to tab file to file allocation.
In step 620, the user that memory device 100 assessed by memory allocator 144 will use the probability level of this unsolicited file.Use the assessment of the probability of this file can realize in the known to the skilled various mode in consignment file field.Such as, the assessment of the probability of this file is used based on the position monitoring the people using memory device, and/or previous experience and the preference of user can be monitored.Use the assessment of the probability of this file can also based on the type of the content such as stored in FAT table or NTFS table (such as, " ad content ", " reward content ", " popularization (freely) content " etc.).Memory allocator 144 can use replacement or additional standard to assess the probability of this file of use.Such as, it can use attribute or the feature of file, and this can be or be associated with the file, document size, file type etc. of last access.
Memory allocator 144 assess user by use unsolicited file probability rank after, memory allocator 144 distributes the discarded priority corresponding with the probability level of the assessment of the use of this unsolicited file in act 630.Use the probability of unsolicited file larger by the user of memory device 100, discarded rank is lower.
If m equals four, this means that discarded scope provides 15 discarded ranks from 1 (namely 0001) to 15 (namely 1111).That is, discard rank 0 to each not discardable file allocation, to the discarded file allocation priority 1 with minimum discarded right of priority, and discard rank 15 to the discarded file allocation with the highest discarded right of priority.After the discarded rank that memory allocator 144 is corresponding to unsolicited file allocation, memory allocator 144 in step 640 to be associated with unsolicited file bunch four most significant digits distribute respective value between 1 and 15.If unsolicited file has associated with it two or more bunches, four most significant digits in each bunch are set to identical value.
In step 650, check that unsolicited file needs evaluated last file.If unsolicited file is not need evaluated last file (being depicted as in step 650 " N "), assess another file in the above described manner.If unsolicited file needs evaluated last file (being depicted as in step 650 " Y "), 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 region 700 showing with FAT 32 to be associated.Catalogue listing 700 is only show for illustrated part, and so, table 700 does not illustrate all fields of FAT catalogue entry.Directory area 700 remains on the details of the file stored in related file system, and such as file name, document size and each file where in associated memory space start.The details of file is maintained in following field.Field 710 remains on disk operating system (" the DOS ") filename of the file stored in related file system, field 720 keeps the extension name of file, field 730 keeps each attribute of file, field 740 keeps high 16 words of the first bunch number of file (" FCN "), field 750 keeps the lower part of the first bunch number (" FCN ") of file, and field 760 keeps the size of file.Each No. FCN instruction file can be found the first Logic Cluster..
The first entry of directory area 700 is kept for the information (illustrating at 770 places) of the example file being called " REALFILE ".REALFILE 770 has file extension " DAT ", and its FCN is " 00000002 " (illustrating at 755 places) and it illustrates it is " 000024E4 ".Numeral in table 700 illustrates with hexadecimal value.As a part for 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 hidden in file system.The file that filename " xE5Consign " instruction is deleted, and " xE5 " means that the value of the first byte of filename is E5 in sexadecimal.By example, first bunch of No. FCN 00000002 (illustrating at 755 places) specified file REALFILE.
Fig. 8 is FAT 32 table 800 according to example embodiment.FAT32 table 800 is shown as double word (" DWORD ") array, and value is hexadecimal value.Reference number 810 indicates the type of the device keeping 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 FAT32 table 800 bunch can be first bunch of file, or its can point to next link of file bunch, or it can be end of file (" EOF ") instruction.
The FCN (illustrating at 770 places) referring again to directory area 700, REALFILE is " 00000002 " (illustrating at 755 places), and its middle finger of table 800 at Fig. 8 is at a bunch #2 place.As shown in Figure 8, the value (that is, value " 0000003 ") of bunch #2 refers at (illustrating at 840 places) bunch #3 place, its be next file bunch.Similarly, the value (i.e. " 00000004 ") of bunch #3 refers at a bunch #4 place, its be next file bunch.Bunch #4 has value " 0FFF FFFF " (" F " is the hex bit representing decimal value " 15 "), wherein " FFFFFFF " (illustrating at 850 places) represents the EOF instruction of file, and null value (illustrating at 860 places) represents discarded rank 0.Therefore, that 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.Note, the highest hex bit of each bunch of concrete file is set to the identical discarded priority being assigned to this file.Such as, file REALFILE has been assigned with discarded rank " 0 ", and therefore, bunch #2, #3, and the highest hex bit of #4 has this value (that is, value " 0 ", " 0 " has been worth by underscore).According to another example, its FCN has been assigned with discarded priority " 1 " at file " 00000005 " " E5 Consign " (as shown in Figure 7).Therefore, bunch #5 belonging to this file has value " 1 " (such as illustrating at 870 places) to the highest each hex bit of 12.In other words, according to the disclosure, the highest hex bit (or, equally, with specifically can discard that file is associated bunch four most significant digits) be set to the identical value corresponding with the discarded priority being assigned to this concrete file.As mentioned above, the quantity m being used to indicate the most significant digit of discarded 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 the data field 910 of " routine " data (such as data 920) keeping the file changed according to " normally " data stream.According to the disclosure, NTFS table 900 also comprises " discard information " field 915 for keeping the discard information (such as, discard information 930) of the file of each assessment.Discard information field 915 can also comprise the information except discarded priority.Such as, discard information field 915 can comprise the expired time that the information of server that belongs to this file of supply and file must go out of use.Unlike the file system based on FAT, based in the file system of NTFS, be assigned to the maximal value that the discarded value can discarding file is not limited to be specified by one group of position.This means that the scope of discarded value can freely be selected.Such as, the scope of discarded value can from 1 to 25.NTFS is the non-FAT file system of example.Usually, can in the discarded value arranging correspondence based on the data field in the file system entry of non-FAT corresponding to the file marked.
Figure 10 is the logic arrangement of the file system 1000 according to the memory device of example embodiment.Memory allocator (such as, 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, or memory allocator can have the access to file system 1000.
File system 1000 comprises leader 1010, the FAT 1020 be associated with file system 1000, catalogue listing 1030, file area 1040 and can discard file area 1050.FAT 1020 comprises the discarded file allocation region 1025 comprising the discarded priority can discarding file.Catalogue listing 1030 comprises the visit information for accessing any file (that is, can discard file and/or can not discard file) stored in memory device.File area 1040 comprises can not discard file.Index and database area 1045 keep the index can discarding file, and with the metadata can discarded file and be associated.The index kept in index and database area 1045 and metadata for calculating discarded rank, but do not need them at the waste treatment device of reality.File area 1050 can be discarded keep discarding file.
Figure 11 demonstrates according to file management method of the present disclosure.Figure 11 will describe explicitly with Fig. 1.Suppose, at time T0 place, two user files (that is, file " F1 " and " F2 ") are initially stored in storage area 110.Because file " F1 " and " F2 " are user files, therefore they are stored in user area 170, and the discarded rank of being distributed to them by memory allocator 144 is zero.Because the total memory capacity of storage area 100 is T (illustrating at 1110 places), and file F1 and F2 is stored in memory device 100, the size (see Fig. 1) of residue idle storage space 190 is f (illustrating at 1120 places).Suppose that publisher wants to store three unsolicited files in storage area 110.As mentioned above, memory allocator 14 assess the idle storage space 190 in memory device 100 size (or the f at 1120 places) in case determine to store in storage area 110 publisher three unsolicited files can not constriction be in order to the reserved expectation of user file store use safety nargin (illustrating at 1130 places).If constriction is stored use safety nargin 1130 (that is, the storage use safety nargin expected) by three the unsolicited files storing publisher, memory allocator 144 will be avoided storing these files.
In this example embodiment, memory allocator 144 is determined that three unsolicited files of publisher can be stored in storage area 110 not reduce and is stored use safety nargin 1130.Therefore, at time T1 place, memory allocator 144 allows memory controller 120 in storage area 110, store three unsolicited files of publisher.The unsolicited file of these three publishers is designated as " P1 ", " P2 ", and " P3 ".File P1 also determined by memory allocator 144, P2, and the probability that the user being stored device 100 uses by P3, and to each discarded rank of distributing correspondence in these files.Then, memory allocator 144, at FAT table, as demonstrated in fig. 8, or in NTFS table, as demonstrated in fig .9, stores the discarded rank being assigned to file
At time T2 place, the user of memory device 100 wants in storage area 110, store two other file (that is, file " F3 " and " F4 ").Memory allocator 144 is reappraised the size (or the f at 1120 places) of the idle storage card 190 in memory device, to determine whether there is enough storage spaces to store these other files (that is, file F3 and F4) in storage area 110.In this example embodiment, memory allocator 144 determines that current idle storage space can hold file F3 and F4.Therefore, at time T2 place, memory allocator 144 allows memory controller 120 storage file F3 and F4 in storage area 110.
Because file F3 and F4 is user file, therefore the probability that the user being stored device 100 uses by file F3 and F4 is incoherent, because user file has the memory priority higher than publisher file, and no matter user uses file F3 and F4 how many times, even if even user is from unused file F3 and F4.Therefore, memory allocator 144 distributes discarded rank " 0 " to file F3 and F4, and at FAT table, as demonstrated in fig. 8, or in NTFS table, as demonstrated in fig .9, stores the discarded rank be assigned with
At time T3 place, the user of memory device 100 wants in storage area 110, store two other file (that is, file " F5 " and " F4 ").Memory allocator 144 is reappraised the size (or the f at 1120 places) of the idle storage card 190 in memory device, to determine whether there is enough storage spaces to store this another file (that is, file F5) in storage area 110.
In this example embodiment, memory allocator 144 determines that current idle storage space can hold file F5.Therefore, at time T3 place, memory allocator 144 allows memory controller 120 storage file F5 in storage area 110.As shown in figure 11, user file F5 constriction storage use safety nargin is stored.That is, the idle storage space f in storage area 110 maintained after file F1 to F5 and P1 to P3 is stored in storage area 110 is less than storage use safety nargin 1130.Therefore, memory allocator 144 restores (reinstate) by one of file (that is, P1, P2, and P3) removing publisher or recovers to store use safety nargin.(namely delete) by removing one or more publisher's file restore or recover to store use safety nargin be because of, as mentioned above, user file has maximum memory priority.
As mentioned above, distributed to the discarded priority of the file discarded of each storage based on memory allocator 144 by memory allocator 144, make the decision that remove which publisher's file or which publisher's file from storage area 110.
Turn back to Figure 11, suppose that publisher's file P3 has been assigned with the highest discarded priority (such as, 13) between publisher's file P1 to the P3 stored.Therefore, at time T4 place, remove file P3 from storage area 110, be therefore exaggerated idle storage space 190.Because the size of the idle storage space 190 at time T4 place (f at 1120 places) is greater than store use safety nargin 1130, therefore do not need to remove any more publisher's file.
The user of memory device 100 may want to remove one or more user file.At time T5 place, from two of his file (namely user removes, file F4 and F5), therefore be exaggerated further idle storage space 190. file F4 and F5 remove with idle storage space 190 or store use safety nargin size have nothing to do, as in this statement, the file discarded by removing the quantity of needs carries out regaining idle storage space or recovering to store use safety nargin.Suppose, publisher wants in storage area 110, store another unsolicited file.As mentioned above, memory allocator 144 assesses the size (f at 1120 places) of idle storage space 190 so that whether the unsolicited file determining to store publisher in storage area 110 constriction will not store use safety nargin 1130.If constriction is stored use safety nargin 1130 by the new unsolicited file storing publisher, then memory allocator 144 will be avoided storing this file.
In this example embodiment, memory allocator 144 determines that the new unsolicited file (that is, file " P4 ") of publisher can be stored in storage area 110, and does not reduce storage use safety nargin 1130.Therefore, at time T6 place, memory allocator 144 allows memory controller 120 in storage area 110, store the file P4 of publisher.The probability that the user that file P4 will be stored device 100 uses also determined by memory allocator 144, and to discarded rank corresponding to this file allocation.Then, memory allocator 144, at FAT table, as demonstrated in fig. 8, or in NTFS table, as demonstrated in fig .9, stores the discarded rank being assigned to file P4.The process storing the file of new issue business and new user file and remove stored file can be worked as and continued when memory device 110 adds new file at every turn, the current size of idle storage space 190 assessed by memory allocator 144, and determines to remove which publisher's file or which publisher's file (if also can) from storage area 110.
To can discard file allocation discard rank can based on about GPS (" the GPS ") position of user and/or the Consumer's Experience of other standards or preference.Such as, if the user of memory device likes the music of particular type as (Consumer's Experience based on previous), if then the file of publisher comprises the music of one of the favorite music type of user, memory allocator can to the relatively low discarded priority (such as, in the scale of 1 to 15 3) of this file allocation.But, if (namely user does not like the music of publisher, experience based on previous user), memory allocator can to the higher discarded priority (such as, in the scale of 1 to 15 12) of the file allocation of associated release business. the expection for can comprise file to the standard can discarding file allocation and discard rank uses, the size of the type of the expected revenue that is associated with this file of use, file, file, the position of file in memory device, file age and herein means fixed other standards or parameter.Other standards, no matter separately or in conjunction with arbitrary standards described here, can use similarly, and one or more standard can be used to carry out the distribution of discarded rank.In addition, various criterion can be used can to discard file allocation to difference and to discard rank.
In another example, if publisher wants to send the advertisement relevant with position (namely to user, advertisement about the product presented in particular location or service), then the size divider discarded priority that can change to the position of the change of the advertisement basic of distribution user of publisher.That is, user from particular location more away from, discarded rank will be higher, because due to away from particular location, may suppose that user loses interest in being consumed in the product or service that this particular locations presents.
As mentioned above, in FAT, record with the mark file relevant to FAT32 entry bunch chain can discarding file as the mark can discarding file.Usually, this mark is in four most significant digits of each FAT32 entry.Because bunch chain can be assigned to can discard file, but not there is the not discardable file relevant to them, therefore the instrument of such as chkdsk or fsck.vfat transformation may can be discarded file for can not discard file, also be known as " truly " file, reduce the security of file system 160 thus.In addition, there is risk: some FAT reply the mark of the file discarded that instrument will reset in FAT32 entry.FAT32 file system check and fix tool walk usually through (step through) file system, and apply rule to repair usual mistake.Usually, bunch chain without corresponding entry during these instruments can search in catalogue listing the first bunch number (FCN) row in FAT.These instrument process do not have any catalogue or file entries bunch to distribute as unaccounted data fragment () (being known as isolated bunch (orphan clusters)) in FAT, and these instruments can delete these isolated bunch or in catalogue listing, set up corresponding file entries.Discarding file system because described here may utilize anything will be thought of as isolated bunch in addition, and the file discarded of therefore these instrument possible errors changes into can not discard file, or whole removing can discard file.
In order to solve these files, in some embodiments, memory allocator 144 can be associated discarding file with bunch chain in main FAT, wherein, the physical location can discarding file hidden by this bunch of chain, and memory allocator 144 can discard the physical location storing this file in FAT, database or one or more position paper.Usually, FAT, database or one or more position paper can be discarded concerning invisible main FAT, and in some embodiments, and attribute that FAT, database or one or more position paper be associated can be discarded can be enabled to prevent host operating system from accessing this and can discard FAT, database or one or more position paper.
As noted before, each entry in FAT32 is 32, but only uses lower 28.Usually, higher four are reserved and are set to zero.If (need the compatible embodiment of FAT32 come higher four be arranged on distribution bunch on, ignore higher four, and higher four of setting are zero when writing new FAT entry.) to distinguish with the mark in higher four of the FAT entry of each bunch of chain relevant to this file and can discard file and can not file be discarded.Standard FAT32 driver can be discarded file and regard the visible of distribution as, and not write on them.But memory allocator 144 can periodically carry out operating, all as described in reference to Figure 5 those, distribute to maintain free space in memory device 110, and the space being assigned to and can discarding file can be replied.
By using main FAT and at least one in FAT, database and one or more position paper can being discarded, main FAT can be expanded.When the main FAT expanded be combined in the file allocation table branch cooperation of searching in logic use time, if so that higher four of FAT entry is non-zero, FAT, database can be being discarded or reflecting that the information can discarded in one or more files of the physical location of file is used to substitute the FAT entry in main FAT.Owing to having precedence over the value in the FAT entry of main FAT in the information in FAT, database or one or more position paper of can discarding, therefore the instrument of such as chkdsk and fsck.vfat will not change and can discard file for can not discard file, because these instruments can discard the bunch relevant to the catalogue can discarded in FAT, database or one or more position paper or file entries of file by seeing.And, it is the mark can discarding file by the instruction file do not resetted in FAT32 that FAT replys instrument, because the instrument of such as chkdsk with fsck.vfat sees that relevant to discarding file bunch is correlated with the catalogue can discarded in FAT, database or one or more position paper or file entries, instead of as free space.
When file system 160 utilizes main FAT 1200 and can discard FAT 1201, in order to store the file being marked as and can discarding file, the main FAT1200 that memory allocator 144 upgrades as figure 12 a shows is relevant to this file by being assigned to bunch chain 1202 can discarding file.Usually, bunch chain 1201 can be the size identical with the file discarded that bunch chain 1201 is correlated with or be 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 in main FAT.Usually, as above describe with reference to figure 7 and 8, each bunch in bunch chain started in entry 1204 point to next order of bunch chain 1202 bunch, until the ending of the value instruction bunch chain 1202 of 1FFF FFFF such as shown in entry 1206.But in other embodiments, each bunch of bunch chain can have the value of such as 1FFF FFFF, instruction bunch be distribute separately bunch, instead of point to bunch chain next order bunch.
The first entry 1204 of bunch chain 1202 points to can discard the corresponding entry 1208 in FAT 1201, as shown in Figure 12b.As above reference diagram 7 and 8 describes, for each file, can discard each bunch in bunch chain 1202 in FAT 1201 point to next order of this file bunch, until the EOF of the value instruction file of 1FFF FFFF such as shown in entry 1210.
Should be appreciated that, a bunch of chain 1202 can be associated with more than one file.Such as, as shown in Figure 12b, bunch chain 1202 comprises the first group bunch of bunch #6 (element 1208) to a bunch #9 (element 1210) from the first file 1212, and comprises the second group bunch from bunch #10 of the second file 1214 to bunch #11.
In addition, should be appreciated that, main FAT 1200 and corresponding discarded FAT 1201 can comprise more than one bunch of chain.Such as, as shown in figures 12 a and 12b, main FAT can comprise bunch chain 1202 of bunch #6 to bunch #11, and can comprise second bunch of chain 1216 of bunch #20 to bunch #22.
In other embodiments, do not use main FAT 1200 and FAT 1201 can be discarded, file system can use main FAT 1200 one or more file and as above bunch of chain and database or one or more separation point positions file to be associated, replacement can discard FAT, stores the one or more physical locations of discarding file relevant to bunch chain.Database or position paper can be in the text that can not store in waste areas of file system or binary file.
Figure 13 is for using main FAT and can discarding the method that FAT carrys out 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 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 marks this article part as " can discard " or as " can not discard " in the file system structure relevant to above-mentioned memory device 100.In step 1320, also in the meaning of discarding priority to file allocation, this article part is marked.
In step 1330, when file is when can discard file, memory allocator 144 upgrades main FAT and is associated with this file by bunch chain being assigned to this file.In step 1340, memory allocator 144 upgrades can discard FAT to reflect the physical location of this file in memory device 100.In step 1350, the storage area of memory allocator 144 (communication by with memory controller 120) managed storage device 100, or based on the file marked and according to discarding FAT to manage the file be stored in storage area 110.The administrative class of storage area is similar to described by above reference diagram 5.
Figure 14 is the process flow diagram for using FAT and database to carry out 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 memory device 100.In step 1420, memory allocator 144 marks this article part for " can discard " or as " can not discard " in the file system structure relevant to above-mentioned memory device 100.In step 1420, also in the meaning of discarding priority to file allocation, mark this article part.
In step 1430, when file is when can discard file, memory allocator 144 upgrades FAT and is associated with this file by bunch chain being assigned to this file.In step 1440, memory allocator 144 more new database reflects the physical location of this file in memory device 100.In step 1450, the storage area of memory allocator 144 (communication by with memory controller 120) managed storage device 100, or manage based on FAT and database the file be stored in storage area 110.
Figure 15 is the process flow diagram for using FAT and position paper to carry out 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 memory device 100.In step 1520, memory allocator 144 marks this article part for " can discard " or as " can not discard " in the file system structure relevant to above-mentioned memory device 100.In step 1520, also in the meaning of discarding priority to file allocation, mark this article part.
In step 1530, when file is when can discard file, memory allocator 144 upgrades FAT and is associated with this file by bunch chain being assigned to this file.In step 1540, memory allocator 144 upgrades position paper to reflect the physical location of this file in memory device 100.In step 1550, the storage area of memory allocator 144 (communication by with memory controller 120) managed storage device 100, or manage based on FAT and position paper the file be stored in storage area 110.
In other embodiments, in order to strengthen safety, and in order to prevent file system from being destroyed or damage by the file system integration tool of such as dosfsck (being also known as fsck.vfat) or chkdsk, memory allocator 144 not to distribute bunch sequentially to bunch chain can discard in file area, with ensure can not when do not read to discard FAT, database or store can discard one or more position paper of the physical location of file rebuilt bunch of chain.In addition, the one or more bunch relevant extent file upset to bunch chain are generated in FAT, so that the instrument of such as dosfsck will not change can discard file for can not discard file, or this file of instruction reset in the high bit of file is discardable mark.In some embodiments, enablely such as can to hide, the attribute relevant to extent file of system, catalogue or Volume Properties, prevent host operating system from accessing these extent file.
Figure 16 be a diagram that the figure of the FAT comprising bunch chain, and wherein, the order forming two or more bunches of this bunch of chain is upset.As shown in figure 16, the bunch discontinuous of bunch chain that entry 1602 place starts is included in.Such as, the order of bunch chain started at entry 1602 place is a bunch #13, bunch #9, bunch #7, bunch #18, and bunch #21.In FAT, the value of each bunch points to the lower cluster in bunch chain, as above Fig. 7 and 8 describes.
Except upset comprise bunch chain relevant to one or more file bunch order, one or more extent file of one or more bunches that comprise bunch chain relevant to this file can be set up in FAT.In some embodiments, each extent file can represent the part as bunch chain bunch scope in all bunches.Due to extent file and comprise bunch chain bunch between relevant, therefore the instrument of such as chkdsk or fsck.vfat will not change and can discard file for can not discard file, and FAT replys instrument is the mark can discarding file by this file of the instruction do not reset in FAT32 entry.
Figure 17 is shown in the one or more extent file set up in FAT, and this FAT stores at least one bunch of bunch chain started at entry 1602 place.Such as, the first extent file 1604 stores bunch #7 and bunch #9 of bunch chain that comfortable entry 1602 place starts, and the second extent file 1606 stores bunch #13 of bunch chain that comfortable entry 1602 place starts, bunch #18, and bunch #21.
Extent file can store from more than one bunch of chain bunch.Such as, except come above bunch chain that comfortable entry 1602 place starts list bunch except, the first extent file 1604 can store bunch #5 and bunch #10 of bunch chain that comfortable entry 1608 place starts.Similarly, except come above bunch chain that comfortable entry 1602 place starts list bunch except, the second extent file 1606 can store bunch #16 of bunch chain that comfortable entry 1608 place starts, bunch #17, and bunch #22.
Figure 18 is the method for using FAT managed storage device, and wherein, the order comprising 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 memory device 100.In step 1820, memory allocator 144 marks this article part for " can discard " or as " can not discard " in the file system structure relevant to above-mentioned memory device 100.In step 1820, also in the meaning of discarding priority to file allocation, mark this article part.
In step 1830, when file is when can discard file, memory allocator 144 upgrades FAT and is associated with this file by bunch chain being assigned to this file.In step 1840, in FAT, between the overall dimensions based on the amount of the storer in such as memory device 100, bunch chain, two orders at bunch chain bunch bunch quantity and/or the order of two or more bunches of bunch chain that the flash-management algorithm of loss balancing data of physical block address in the block distributed of erase block size, each logical address and/or each page relevant to physical block address is upset to be correlated with this file can be considered.In some embodiments, the Pseudo-random number generator of the side-play amount in the scope of each bunch being provided in and not previously being assigned with or entropy random number generator is used to upset the order of two or more bunches of bunch chain.In some embodiments, the one-way Hash function (one-way hashfunction) considered from the uncertain value of host computer system 140 and/or memory device 100 is used to upset the order of two or more bunches of bunch chain.
In step 1850, in FAT, set up the first extent file comprising at least one bunch of bunch chain relevant to the first file.In step 1860, the storage area 110 of memory allocator 144 (communication with memory allocator 120 is provided) managed storage device 100, or the file stored in storage area 110 is managed based on FAT and extent file.
In other embodiments, file system can realize conversion lock, to ensure that when discarding File Open this can discard file and is not converted into and can not discards file.May such as download to memory device 100 can discard file during or during time period before the data relevant to discarding file are published to the public, such as when with download about the forward direction memory device 100 can discarding the relevant date issued of the music of file, song or program can discard file time, open and can discard file.Usually, file can be discarded when these conversion latching operations are provided with conversion lock with box lunch can not be converted into and can not discard file.
Figure 19 is for using conversion lock to come when discarding file in the method realizing preventing when being opened in main FAT and the file system can discarding FAT the conversion can discarding file.Figure 19 will describe explicitly with Fig. 1.In step 1910, memory allocator 144 receives, and can to discard file transform be the request can not discarding file.In step 1920, memory allocator 144 identifies the value that identifier is locked in the conversion relevant to discarding file.In step 1930, memory allocator 144 determines whether can will to discard file transform for discarding file based on the value of conversion lock identifier.Usually, memory allocator 144 can be discarded when file is opened when the value instruction changing lock identifier and determine that can discard file may not be converted, and when conversion lock identifier indicates can discard when file is not opened, memory allocator 144 determines that can discard file can be converted.
If in step 1930, memory allocator 144 determines that can discard file may not be converted into and can not discard file, then memory allocator 144 can discard file as not discardable in step 1940 prohibition flag.But, if in step 1930, memory allocator 144 determines that can discard file can be converted into and can not discard file, memory allocator 144 continues in the file system structure relevant to memory device 100, to mark this article part as not discardable file in step 1950; Main FAT is upgraded to reflect the physical location of this file in step 1960; And FAT can be discarded to remove the physical location of this file in step 1970 renewal.
To understand, when with main FAT substitute can discard FAT come usage data storehouse or position paper time, as mentioned above, realize similar approach with conversion lock.
In some embodiments, can allow to apply that to carry out such as discarding file transform be can not discard file or check the operation changing the value of locking identifier based on the identifier relevant to this application.Usually, set up or download can discard file application can by user identifier (ID) with can discard file and be associated.User ID can be owner's user ID that mark establishes application or the user that can discard file.In some embodiments, owner's user ID is 4 byte values.
File system 160 provide definition and other users to owner's user ID or apply what relevant further user ID can access can discard file and additional user ID can for the ability can discarding file and take what action.To understand, and depend on the use can discarding file, additional user ID can be associated with single application or unique user, or additional user ID can be and multiple application or multiple user-dependent sharing users ID.
In some embodiments, owner's user ID can allow the preview data that the application access relevant to further user ID is relevant with discarding file.Preview data can be the part can discarding 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 to film; Can discard file can be TV programme, and preview data can comprise a part for TV programme; Can discard file can be music data, and preview data can comprise a part for 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 preview data be used so as with the date issued can discarding file before, can discard file may not be accessed, but the preview data relevant to file can be discarded can be accessed, and after date issued, can access and can discard file and preview data.In another example, owner's user ID can allow the application relevant to further user ID to write to discarding file based on the user ID relevant with discarding file.
In some embodiments, file system can provide permission bits mask for owner's user ID, and what operation defines the application relevant to further user ID can carry out for discarding file.Typical case uses an example of the permission bits mask of sight shown in Figure 20.But should be appreciated that, owner's user ID can have precedence over the license shown in Figure 20, and distributes any license to further user ID.
With reference to the license shown in Figure 20, be provided with the application that characteristic writes permission bits (properties write permissionbit) 2002 and can revise attribute, such as enable or forbidding conversion is locked, setup times stabs or writes the universal resource indicator (" URI ") of consumption intention, and be provided with the application that characteristic reads permission bits 2004 and can read attribute, such as change the URI of lock, timestamp or consumption intention.The application being provided with right of priority permission bits 2006 can revise the priority can discarding file.Be provided with the application that preview reads permission bits 2008 and can read the preview data relevant to file can be discarded, and be provided with the application that preview writes permission bits 2010 and can write the preview data relevant to file can be discarded.Be provided with the application of reading permission bits 2012 can read to discard file, and be provided with the application writing permission bits 2014 and can write to discarding file.Usually, only relevant to being associated with the owner's user ID that can discard file application will have these and permit.The application being provided with conversion permission bits 2016 can will can discard file transform for discarding file.
Note, tab file in related file system disclosed herein also can have many useful application to the discarded level method for distinguishing of their distribution, and one of them recovers to store use safety nargin to ensure enough storage spaces of user file.Such as, the discarded rank being assigned to file can be used to flash memory module document cluster being remapped to lower-performance, or removes this bunch when asking.
The intelligent cache of large files
For the method for management data, such as intelligent buffer as above, and the U.S. Patent No. 12/336 of pending trial to submit on Dec 16th, 2008, the pending trial U.S. Provisional Application No.61/159 submitted in 089 and on March 10th, 2009, the description of the intelligent buffer described in 034 and feature, both are cited and invest this, provide the intelligent buffer technology can discarding greatly file.This large files intelligent buffer, also can not from above disclosed various change and expansion referred to here as intelligent buffer HD.Intelligent buffer HD is different from intelligent buffer part and is that it provides the file that with the addition of large files manager to support and be greater than 4GB, this large files manager processes the division of this file intelligently when changing, maintain their large (> 4GB) state when they are discardable simultaneously.Particularly, this allows the management and retrieval of these files and they abandon, as individual unit instead of a series of less file.
Assembly
Intelligent buffer assembly is described in the block scheme of Figure 21.Intelligent buffer assembly 2100 can operate in conjunction with arbitrary in multiple operating system, such as ANDROID, WINDOWS or LINUX.Or intelligent buffer technology discussed herein can at storage medium, such as do not have the storage card of operating system realizes.The New Parent added for intelligent buffer HD is large files manager 2102, and its process is greater than the file of 4GB dimensionally.Below large files manager is described in more detail.
File can be discarded greatly
Comprise that the file system can discarding file is conceptive to be organized as shown in the file system structure of Figure 22.File system is structurally similar to the standard FAT32 file system set up in SD-HC (with the high power capacity μ SD of correspondence) card.Can discard in file HD embodiment, file can discarded and be stored in shadow FAT (shadow FAT).
Shadow FAT
Original two FAT table uses the instruction right of priority of file instead of the OxpFFFFFFF (EOF) of its actual chain or 0xp00000000 (unallocated) to distribute can to discard bunch.If most significant digit unit is non-zero, consulting the 3rd FAT table is to determine actual bunch chain-ordering.Be unlike in two original FAT tables, FAT (DFAT) can be discarded and can comprise bunch chain being longer than 4GB.
Catalogue listing
The catalogue entry can discarding file has following element.The element that can encrypt is represented as blob (binary large object) in the encrypted variants of system, and it can be 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 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 Preview type
Integer/blob Preview size
Integer/blob Preview the first bunch number
Text Name space
Text Filename
Blob Charging reference
Integer/blob Last bunch number
Integer/blob Last bunch number
Integer Expiration date
Byte Effectively
Text Mime type (being different from intelligent buffer embodiment)
Table 1: can file directory entries be discarded
Attention: integer size is 32.Lint-long integer size is 64.
Large files manager
Large files manager (LFM) is that the process processor (processhandler) realized in intelligent buffer HD processes the file being 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 the storage device, then implement on the storage device.
Document parser uses identification document (such as use in Linux file command those) and if seek advice from this mime type known method of---it is stored in can discard in file directory entries---.The simple table of the division processor of their correspondences that types of database is file type and is incorporated in LFM.This illustration show three division processors, although if need to be incorporated to additional division processor.Usually, dividing processor will have for following interface:
Checking can discard the structure of file;
Calculation document should by the sum of the fragment that divides (although this by the size of normally file divided by 4GB, file layout constraint can need more file);
For each fragment of file creates leader; And
Calculate the side-play amount of each segment boundaries.
The actual division of file is carried out in the transition period described below.
Flow path switch
Flow path switch in intelligent buffer HD is shown in Figure 24.This process 2400 is sentenced application call convert () function in step 2402 and is started.Convert () function authorizes the process of conversion in step 2402 via billing mechanism (as described in intelligent buffer application).If do not authorize this conversion in step 2406 place, then cause security exceptions in step 2407 place.If authorize this conversion in step 2406 place, then next step is in step 2408 place locking file system, so that other process and device driver do not revise it during conversion process, and allows refreshing file system after completing this process.Then; in step 2410 and 2412; in FAT1 and the FAT2 table of volume, distribute bunch chain of the file that will be converted, this chain is coupled with for any existing placeholder (placeholder) the file solution that dosfsck protects object and place, and if needed again to a bunch chain sequence.If this file total length is less than 4GB in step 2414, then in step 2416,2418,2420, and the catalogue entry creating this file in 2422, and in step 2424, this file system is unlocked and refreshes, and terminates convert () flow process in step 2426.
If this file total length is greater than 4GB, then this process proceeds to the file normally HD media file that step 2428. is greater than 4GB, and it can be divided into the fragment of played in order.These fragments can be linked to together when playback, provide seamless playback to experience.But the fragment simply file being split into 4GB may cut off this file in the middle of frame, or causes one or more fragment loss mark or the metadata (such as file header label) needed for this file of playback.Therefore, each fragment, with the metadata leader generated by LFM, is adapted to this form.Some file types are divided into fragment artificially, such as document or executable file, and these files can not use this strategy to be converted into less fragment.In this file, large files manager can use the compression storehouse (compression library) of such as ZIP, and it supports division while the order maintaining file.Large files manager uses the flow process shown in Figure 25 when convert file.
The process 2500 that management length is greater than the file of 4GB is sentenced the convert requests of application in step 2502 and starts.Read the leader of file in step 2504, and in step 2506, if file is known type, then determine.If file is UNKNOWN TYPE, then process proceeds to step 2508, wherein, file is by using conventional method (a generic method) to be multiple file by transregional division (span into), and this conversion process continues transregional file in step 2510.
If this file is known type in step 2506, determine whether this file type is supported transregionally to be divided into multiple file in step 2512.If file type support is transregional be divided into multiple file, then, before proceeding to step 2510, in step 2514, be divided into multiple file by using the special method of this file type by transregional for file.But, if file type is not supported transregionally to be divided into multiple file, then before proceeding to step 2510, in step 2508, use conventional method to be divided into multiple file by transregional for file.
As the example of the special method of file type, the simplification that Figure 26 describes normally used open source Matroska (mkv) container file format in high definition video steaming is attempted.Matroska file usually by file header label (easily extensible binary element language (EBML) leader), is then a fragment, and ends up with label.These files can be longer than 4GB, but this large files effectively can not represent in FAT32 file system.In order to divide these files, fragment itself is divided into multiple file, and each file has its oneself EBML leader and fragment leader.Is the auxiliary field linking the file of division in fragment leader, as follows:
Table 2: frag info structure (part)
The process of division Matroska file comprise for each division fragment allocation and create new MKV file, and enclose the fragment leader of EBML leader and rewriting for each fragment.
Large files manager, by under using the special division processor of each file type to carry out the often kind of situation divided on the spot pellucidly file type, is incorporated to the support to various file type, such as Matroska.By bunch chain interpolation bunch to the new heading information comprised as shown in figure 27, and then by appropriate point place being each file interpolation new directory entry in the chain and to each file allocation FCN, coming to divide on the spot, and do not remove the data in file.(what be close to before FCN in chain bunch number will perform EOF mark (marker).) similar flow process also exists alternative document type for comprising in large files manager.Large files manager detects file type automatically and therefore creates and divides on the spot.
The application comprises the method and system for managed storage device.In one embodiment, the memory allocator existed in main frame or memory device is received in the request of storage file in the storage area of memory device.This memory allocator marks this article part as discardable in the file system structure relevant to this memory device, and upgrades master file allocation table (" FAT ") and be associated with this file by bunch chain being assigned to this file.This memory allocator upgrades in addition can discard FAT or database to reflect the physical location of file, maybe can generate one or more position papers of the physical location storing this file.Then, memory allocator based on FAT and can discard, database or indicate one or more position papers of the physical location of this file to carry out managed storage device.
Below disclosed many method and systems, and can implement in many ways.Below provide some examples of the combination of embodiment, but these are not restriction, and conceive the combination of other characteristic sum.
In one embodiment, the first method for managed storage device can comprise, at memory device operation in the main frame that is coupled in: be received in the request storing the first file in the memory device of memory device, wherein, storer comprises main FAT and additional discarded FAT; Mark the first file as discardable, being marked in the file system structure relevant to memory device of this first file is carried out; Make memory device upgrade main FAT bunch chain being assigned to the first file is associated with the first file; Memory device is upgraded and can discard FAT to reflect the physical location of the first file in memory device; And according to discarding FAT and come the storage area of managed storage device.
In the method, bunch chain masks the physical location of at least the first file, and bunch chain of main FAT can point to and can discard the position in FAT.According to the storage area can discarding FAT managed storage device can comprise following in arbitrary or combination: be marked as discardable one or more file recover to store use safety nargin by optionally removing; Be marked as discardable All Files discharge storage area by removing; Or by the memory module bunch being remapped to lower-performance of the first file.
First method can also comprise and makes the attribute relevant to the first file can prevent host operating system from accessing this first file.Or this first method can also comprise the request storing the second file in the memory device being received in memory device, mark the second file as discardable, being marked in the file system structure relevant to memory device of this second file is carried out; Make memory device upgrade main FAT to be associated with the second file by bunch chain, wherein, this bunch of chain is associated with the first file and the second file; And make memory device upgrade the physical location can discarding FAT to reflect the second file.This bunch of chain can cover the physical location of the first file and the second file.
This above-mentioned first method can also comprise the request storing the second file in the memory device being received in memory device, marks the second file as discardable, and being marked in the file system structure relevant to memory device of this second file is carried out; Make memory device upgrade main FAT the second bunch of chain being assigned to the second file is associated with the second file; Memory device is made to upgrade the physical location can discarding FAT to reflect the second file.
Or this first method can comprise mark first file as not discardable, and being marked in the file system structure relevant to memory device of this first file is carried out; Memory device is made to upgrade main FAT to reflect the physical location of the first file.Memory device is made to upgrade the physical location can discarding FAT to remove the first file.The substitute mode of the first method can also comprise the value that identifier is locked in the mark conversion relevant to this first file, determining whether can by the first file from discarding file transform for can not discard file, wherein, determine value that identifier is locked in the conversion relevant to the first file indicate this first file not by locking after, the first file is marked as can not discard file.
In another substitute mode of the first method, can also comprise following additional step: identify the value that identifier is locked in the conversion relevant to this first file, determining whether can by the first file from discarding file transform for can not discard file; And determine value that the conversion relevant to the first file is locked indicate this first file by locking after, prohibition flag first file is not discardable.Or, the preview file that this first method can comprise relevant to the user ID file license of mark and be correlated with the first file, and the access that manages the preview file relevant to the first file is permitted based on identified file.User ID can be shared user ID.
In the first method, mark the first file is discard priority to the first file allocation discardable can comprising.Or, to the first file allocation discard priority can comprise following at least one: correspond to the first file main FAT entry in, respective value is set to m most significant digit, or in the file system corresponding to the first file, respective value is set to data field.Priority can be discarded to the first file allocation: the expection of the first file uses according to any one in following; The expected revenue relevant to using this file; The file type of the first file; The size of the first file; The position of the first file in memory device; And first age of file.
In another embodiment, the second method for managed storage device can comprise, in the memory device of the main frame be operatively coupled in: be received in the request storing the first file in the memory device of memory device, wherein, memory device comprises main FAT and additional discarded FAT; Mark the first file as discardable, being marked in the file system structure relevant to memory device of this first file is carried out; Upgrade main FAT bunch chain being assigned to the first file is associated with the first file; Renewal can discard FAT to reflect the physical location of the first file in memory device; And according to discarding FAT and come the storage area of managed storage device.Bunch chain can cover the physical location of at least the first file.Second method can also comprise and makes the attribute relevant to the first file can prevent host operating system from accessing this first file.Bunch chain of main FAT can point to can discard the position in FAT.
In a variant, the second method can also comprise the request storing the second file in the memory device being received in memory device, and in first file system structure relevant to memory device, mark the second file is discardable; Upgrade main FAT to be associated with the second file by bunch chain, wherein, this bunch of chain is associated with the first file and the second file; And upgrade the physical location that this can discard FAT to reflect the second file.In this variation, this bunch of chain can cover the physical location of the first file and the second file.
In another embodiment, the second method can also comprise the request storing the second file in the memory device being received in memory device, and in first file system structure relevant to memory device, mark the second file is discardable; Upgrade main FAT the second bunch of chain being assigned to the second file is associated with the second file; And upgrade the physical location that this can discard FAT to reflect the second file.
Or the second method can also be included in the file system structure relevant to memory device and mark the first file for not discardable; Upgrade main FAT to reflect the physical location of the first file; And upgrade the physical location that this can discard FAT to remove the first file.The substitute mode of the second method can also comprise the value that identifier is locked in the mark conversion relevant to this first file, determining whether can by the first file from discarding file transform for can not discard file, wherein, determine value that identifier is locked in the conversion relevant to the first file indicate this first file not by locking after, the first file is marked as can not discard file.
Another version of this second method can also comprise the value that identifier is locked in the mark conversion relevant to this first file, and determining whether can by the first file from discarding file transform for can not discard file; And determine value that the conversion relevant to the first file is locked indicate this first file by locking after, prohibition flag first file is not discardable.Another version of second method can also comprise the mark file license relevant to user ID and the preview file relevant with the first file; And the access that manages the preview file relevant to the first file is permitted based on identified file.User ID can be shared user ID.
In the second approach, mark the first file is discard priority to the first file allocation discardable can comprising.To the first file allocation discard priority can comprise following at least one: correspond to the first file main FAT entry in, to m most significant digit, respective value is set, or corresponding to the first file file system in, to data field, respective value is set.Or, priority can be discarded according to any one in following to the first file allocation: the expection of the first file uses; The expected revenue relevant to using this file; The file type of the first file; The size of the first file; The position of the first file in memory device; Or the age of the first file.
In the second approach, according to the storage area can discarding FAT and come managed storage device comprise following in arbitrary or combination: be marked as discardable one or more file recover to store use safety nargin by optionally removing; Be marked as discardable All Files discharge storage area by removing; Or by the memory module bunch being remapped to lower-performance of the first file.
Memory allocator for managed storage device can comprise: a communication interface, by the main frame interfaces of memory device and memory device; Storage unit, for storing the file system be associated with this memory device; And for managing the processor of the file system relevant to memory device, wherein, this processor is configured to: be received in the request storing the first file in the memory device of memory device, wherein, memory device comprises main FAT and additional discarded FAT; Mark the first file as discardable, being marked in the file system structure relevant to memory device of this first file is carried out; Make memory device upgrade main FAT bunch chain being assigned to the first file is associated with the first file; Memory device is upgraded and can discard FAT to reflect the physical location of the first file in memory device; And according to discarding FAT and come the storage area of managed storage device.The physical location of the first file covered by bunch chain.Bunch chain of the one FAT can point to the position in the 2nd FAT.
Or this processor can be configured to be received in the request storing the second file in the memory device of memory device further, and it is discardable for marking the second file in the file system structure relevant to memory device; Make memory device upgrade main FAT to be associated with the second file by bunch chain, wherein, this bunch of chain is associated with the first file and the second file; And make memory device renewal the 2nd FAT reflect the physical location of the second file.Wherein, the physical location of the first file and the second file covered by this bunch of chain.
In another variant of above-mentioned memory allocator (locater), this processor can be configured to be received in the request storing the second file in the memory device of memory device further, and in first file system structure relevant to memory device, mark the second file is discardable; Make memory device upgrade main FAT the second bunch of chain being assigned to the second file is associated with the second file; Memory device is made to upgrade the physical location can discarding FAT to reflect the second file.The variant of this memory allocator can make processor be configured to further in the file system structure relevant to memory device, mark the first file for not discardable; Memory device is made to upgrade main FAT to reflect the physical location of the first file.Memory device is made to upgrade the physical location can discarding FAT to remove the first file.In addition, this processor can also be further configured to identify the value that identifier is locked in the conversion relevant to this first file, determining whether can by the first file from discarding file transform for can not discard file, wherein, determine value that identifier is locked in the conversion relevant to the first file indicate this first file not by locking after, the first file is marked as can not discard file.
In other embodiments, memory allocator can also make processor be configured to further identify the value that identifier is locked in the conversion relevant to this first file, and determining whether can by the first file from discarding file transform for can not discard file; And determine value that identifier is locked in the conversion relevant to the first file indicate this first file by locking after, prohibition flag first file is not discardable.Or the processor of memory allocator can also be configured to identify the file license relevant to user ID and the preview file relevant with the first file further; And the access that manages the preview file relevant to the first file is permitted based on identified file.
Also disclose a kind of storage system, there is communication interface; And for managing the memory allocator of the file system relevant to memory device.This memory allocator can comprise the processor of the storage for managing the one or more files in 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 memory device.Storage system can also be arranged in case in order to via communication interface to receive request, processor is configured to the request drawing storage first file based on one or more write requests relevant to the first file received via communication interface.
Also disclose a kind of third method for managed storage device, wherein, the method comprises, at memory device operation in the main frame that is coupled, be received in the request storing the first file in the memory device of memory device, in the file system structure relevant to memory device, mark the first file is discardable; Make memory device upgrade FAT bunch chain being assigned to the first file is associated with the first file; More new database reflects the physical location of the first file in memory device; And the storage area of managed storage device is carried out according to FAT and database.
A kind ofly to comprise for the 4th method managed for the method for managed storage device, operatively be coupled in the memory device of main frame, be received in the request storing the first file in the memory device of memory device, mark the first file as discardable, being marked in the file system structure relevant to memory device of this first file is carried out; Upgrade FAT bunch chain being assigned to the first file is associated with the first file; More new database reflects the physical location of the first file in memory device; And the storage area of managed storage device is carried out according to FAT and database.
The 5th method for managed storage device comprises the step relevant to above-mentioned 4th method, but from the angle of main frame, instead of the angle of memory device.More specifically, the 5th method comprises, at memory device operation in the main frame that is coupled; Be received in the request storing the first file in the memory device of memory device, in the file system structure relevant to memory device, mark the first file is discardable; Make memory device upgrade FAT bunch chain being assigned to the first file is associated with the first file; Upgrade position paper and reflect the physical location of the first file in memory device; And the storage area of managed storage device is carried out according to FAT and position paper.Position paper can be the file of such as text or binary file.
A kind of the 6th method for managed storage device comprises: at memory device operation in the main frame that is coupled; Be received in the request storing the first file in the memory device of memory device, in the file system structure relevant to memory device, mark the first file is discardable; Make memory device upgrade FAT bunch chain being assigned to the first file is associated with the first file; The order of two or more bunches of bunch chain relevant to the first file is upset in FAT; In FAT, create the first extent file, this first extent file comprises at least one bunch of bunch chain relevant to the first file; And the storage area of managed storage device is carried out according to FAT and the first extent file.
6th method can also comprise the request storing the second file in the memory device being received in memory device, and in first file system structure relevant to memory device, mark the second file is discardable; Make memory device upgrade FAT to be associated with the second file by bunch chain, wherein, this bunch of chain is associated with the first file and the second file; And in FAT, upset the order of two or more bunches of bunch chain relevant to the second file; Or the 6th method can also comprise at least one bunch that the first extent file upgraded in FAT comprises bunch chain relevant to the second file.
In the variant of the 6th method, the method can also comprise the request storing the second file in the memory device being received in memory device, and in first file system structure relevant to memory device, mark the second file is discardable; Make memory device upgrade FAT the second bunch of chain being assigned to the second file is associated with the second file; The order of two or more bunches of the second bunch chain relevant to the second file is upset in FAT; In FAT, create the second extent file, this first extent file comprises at least one bunch of bunch chain relevant to the second file; Wherein, comprise according to the storage area of FAT and the first extent file managed storage device the storage area carrying out managed storage device according to FAT, the first extent file and the second extent file.
In another variant of the 6th method, the method can also be included in FAT and create the second extent file, this second extent file comprises at least one bunch of bunch chain relevant to the first file not comprising the first extent file, wherein, comprise according to the storage area of FAT and the first extent file managed storage device the storage area carrying out managed storage device according to FAT, the first extent file and the second extent file.
The 7th method for managed storage device comprises the step relevant to above-mentioned 4th method, but from the angle of memory device, instead of the angle of main frame.More specifically, 7th method comprises, and in the memory device being coupled in main frame, is received in the request storing the first file in the memory device of memory device, mark the first file as discardable, being marked in the file system structure relevant to memory device of this first file is carried out; Upgrade FAT bunch chain being assigned to the first file is associated with the first file; The order of two or more bunches of bunch chain relevant to the first file is upset in FAT; In FAT, create the first extent file, this first extent file comprises at least one bunch of bunch chain relevant to the first file; And the storage area of managed storage device is carried out according to FAT and the first extent file.The variant of the 7th method is parallel to those of above-mentioned 6th method.
According to all directions method, a kind of method of the operation relevant to file can be discarded for management in the main frame be coupled in of memory device operation, comprise by owner's user ID with can discard file and be associated, wherein, file can be discarded comprise and in the file system structure relevant to memory device, be marked as discardable file; Permit with a group of defining with the additional user ID that file is correlated with can be discarded that should be used for relevant to owner's user ID; The request carried out with the operation that file is correlated with can be discarded is received from the application relevant to additional user ID; Determine whether the application relevant to additional user ID can carry out this operation based on the license of this group; And determine to manage the operation relevant to file can be discarded based on this.
In the variant of all directions method, the application relevant to owner's user ID can be downloaded and can discard file to memory device.Or the operation relevant to discarding file can comprise revises the attribute relevant with discarding file.In other variants of all directions method, the method can also comprise reads the attribute relevant to discarding file.Attribute can be at least one in conversion lock identifier, timestamp, consumption intention universal resource indicator or priority.In other variants of all directions method, this operation can comprise reads to discard file, writes to discarding file, writes the preview data relevant to discarding file or reads the preview data relevant with discarding file.File can be discarded and can comprise preview data in different embodiments, or be different from preview data.
The further user ID of all directions method can be and multiple user-dependent shared user ID.Or the further user ID of all directions method can be the user ID shared relevant to multiple application.In one of the method from all directions other variant, can comprise forbid that the operation relevant with discarding file is carried out in the application of being correlated with additional user ID based on determining to manage the operation relevant to file can be discarded.In one of the method from all directions other variant, comprise allows the application of being correlated with additional user ID to carry out and operation file can be discarded be correlated with based on determining to manage the operation relevant to file can be discarded.
Also contemplate a kind of storage system, there is communication interface; And for managing the memory allocator of the file system relevant to memory device.Memory allocator can comprise processor, the operation that application management is relevant to the file discarded stored in memory device, wherein, described processor be configured to by owner's user ID with can discard file and be associated, wherein, file can be discarded comprise and in the file system structure relevant to memory device, be marked as discardable file; Permit with a group of defining with the additional user ID that file is correlated with can be discarded that should be used for relevant to owner's user ID; Receive from the application relevant to additional user ID the request carried out with the operation that file is correlated with can be discarded by communication interface; Determine whether the application relevant to additional user ID can carry out this operation based on the license of this group; And determine to manage the operation relevant to file can be discarded based on this.In order to manage the operation relevant to discarding file, processor can be configured to allow the application relevant to additional user ID to read the preview data relevant with discarding file.Additional user ID can be and multiple user-dependent shared user ID, or the user ID shared relevant to multiple application.
A kind of the 9th method for managed storage device can comprise: at memory device operation in the main frame that is coupled; Preview data is stored in memory device; By preview data with can discard file and be associated, wherein, can discard file be be marked as in the file system structure relevant to memory device discardable; And management is to preview data and the access can discarding file, to allow application access preview data but not allow its access to discard file.Can discard file can be the preview data being 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 to film; Can discard file can be TV programme, and preview data is a part for TV programme; Can discard file can be music data, and preview data is a part for music data; Maybe can discard file can be program, and preview data is the crippled version of this program.
Replace in embodiment at one of the 9th method, to manage preview data with the access can discarding file to allow application access preview data but not allow its access can discard file can comprise and to manage preview data with the access can discarding file to access preview data during allowing to be applied in the time period before the date issued relevant to file can be discarded but not allow its access to discard file.
Download management
For the method for management data, also referred to as intelligent buffer and intelligent buffer ID, as above-mentioned, provide intelligent buffer technology to manage the storage area to memory device to download and can discard file.Usually, can be that the download manager of the part of above-mentioned memory allocator can determine whether to postpone to download can discard file to the storage area of memory device based on download condition in one embodiment, download condition such as can be used for the amount of available storage downloaded the type can discarding the network of file, the power condition that can be used for memory device, the time period relevant to downloading the request that can discard file to memory device to memory device and/or be correlated with memory device.
Such as, download manager can determine that postponing download can discard file until Wireless Fidelity (WiFi) network and/or cellular network can be used for download can discard file.Similarly, when the power level that memory device is coupled in power supply or the battery relevant to memory device is higher than intended level, download manager can determine that not postponing download can discard file, but lower than determining during intended level that postponing download can discard file when download manager just can charge at the battery relevant to memory device and/or in the power level of the battery of being correlated with memory device.In addition, download manager can determine to postpone to download when network congestion may high time the request of business busy the file discarded until the time in the evening, such as evening 8, when network may not congested time, or download manager can determine to postpone to download the file discarded that date on weekdays asks until the date at weekend.Download manager can postpone download in addition can discard file, until storing the available memory that can discard in file to the storage area of memory device in memory device higher than intended level.
Figure 28 downloads for the storage area managed to memory device the process flow diagram can discarding the method for file.In step 2802, be received in the request of storage file in the storage area of memory device, wherein, this file is discardable file and is associated with the data in the data structure be associated with memory device.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 is labeled to indicate this file to be to discard file.In other embodiments, this file itself is labeled to indicate this file to be to discard file.
In step 2806, can be that the download manager of the part of memory allocator is determined and the download condition storing this request can discarding file be associated in the storage area of memory device in some embodiments.Such as, deposit download manager can determine to can be used for download the type can discarding the network of file, the power condition that can be used for memory device when downloading can discard file to memory device, the date-time relevant to downloading the request that can discard file to memory device to memory device and/or determine the amount of the free memory in memory device.
In step 2808, download manager determines whether to postpone to download can discard file to memory device based on determined download condition, and in step 2801, whether download manager, based on postponing to download to memory device the determination can discarding file, manages and can discard the download of file to memory device.In step 2810, download manager can postpone to download can discard file to memory device, until meet the parameter relevant to the condition of download.Such as, download manager can postpone the download can discarding file, until WiFi network and/or cellular network can be used for downloading can discard file to memory device, download manager can postpone the download can discarding file, until memory device is coupled to power supply or the power level of the battery relevant with memory device higher than intended level, and/or download manager can postpone to discard file download until store in the storage area of memory device can discard the available storage of file in memory device amount higher than intended level.
In step 2812, the memory allocator that can comprise download manager is to discard file based on tab file, manages the file discarded storing in the storage area of memory device and download, as previously discussed.
To understand, and in some embodiments, one or more processor can be configured and carry out with reference to the above-mentioned action of Figure 28 based on the instruction stored on the storer of such as computer-readable nonvolatile storage medium.One or more processor can be positioned on main frame, on memory device or in both combinations.
Note, tab file in related file system disclosed herein also can have many useful application to the discarded level method for distinguishing of their distribution, and one of them recovers to store use safety nargin to ensure enough storage spaces of user file.Such as, the discarded rank being assigned to file can be used to flash memory module document cluster being remapped to lower-performance, or removes this bunch when asking.
Article " one " and " one " are used herein to the grammer main body referring to one or more than one (that is, at least one) article, and this depends on context.By example, depend on context, " element " means an element or more than one 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 to use interchangeably with it, unless context clearly indicates other.Term " such as " be used herein to mean phrase " such as, but not limited to " and to use interchangeably with it.
Described the embodiment of example of the present invention, art technology will understand that the amendment of embodiment of the present disclosure will within the scope of the invention arbitrarily.Therefore, the embodiment of replacement can comprise more multimode, less module and/or functionally identical module.The disclosure relates to various types of mass storage device, such as be provided USB (universal serial bus) (" USB ") interface, USB flash drive (" UFDs "), multimedia card (" MMC "), secure digital (" SD "), miniSD, and flash card, flush memory device, non-flash device, " key floppy disc (Disk-on-Key) " device that the SD of microSD etc. drives.At this, the scope of following claim be can't help in this open restriction.Therefore, be intended to aforementioned description in detail and be regarded as exemplary and unrestricted, and understand, claim subsequently, comprise its equivalent intention definition the spirit and scope of the present invention.

Claims (30)

1. a method for diode-capacitor storage device, the method comprises: be coupled to wherein main frame at memory device operation:
Receive from content provider will the request of storage file in memory device, wherein, memory allocator determines that this file is discardable file;
This file is labeled as the file discarded in the file system of described memory device, described file system comprises main file system framework and can discard file system architecture, is wherein labeled as by this file can discard file and comprise:
Make memory device upgrade main file system framework in described memory device, to make file be associated with bunch chain being assigned with this file, the physical location in the described memory device be associated with described file at least covered by described bunch of chain; And
Make can discard file system architecture described in the renewal of described memory device, to make the physical location in described memory device be associated with described file, wherein this file is labeled as and can discards file to be hidden in this file system by this file, and wherein discarded file comprises the unsolicited content that user does not also ask;
Determine and in memory device, store the download condition being marked as the request that can discard file and being associated;
Based on determined download condition, determine whether to postpone to download to memory device to be marked as discardable file;
Manage be marked as the download of discardable file to memory device based on whether postponing to download to memory device the determination being marked as discardable file.
2. method according to claim 1, wherein, the download that management is marked as discardable file comprises:
Postpone to download to memory device to be marked as discardable file, until meet the parameter relevant to the condition of download.
3. method according to claim 1, wherein determines and in the storage area of memory device, stores the download condition that the request that is marked as discardable file is associated comprise
Determine to can be used for downloading to memory device the network type being marked as discardable file.
4. method according to claim 3, wherein, determine that can be used for downloading to memory device the network type being marked as discardable file comprises:
Determine that Wireless Fidelity (WiFi) network can be used for downloading to memory device being marked as discardable file.
5. method according to claim 3, wherein, determine that can be used for downloading to memory device the network type being marked as discardable file comprises:
Determine that cellular network can be used for downloading to memory device being marked as discardable file.
6. method according to claim 1, wherein determine and in memory device, store the download condition that the request that is marked as discardable file is associated comprise:
Determine the power condition that can be used for memory device when downloading can discard file to memory device.
7. method according to claim 6, wherein determine that the power condition that can be used for memory device when downloading be marked as discardable file to memory device comprises:
Determine that this memory device is coupled with power supply.
8. method according to claim 6, wherein determine that the power condition that can be used for memory device when downloading be marked as discardable file to memory device comprises:
Determine that the battery relevant to memory device is just charged.
9. method according to claim 6, wherein determine that the power condition that can be used for memory device when downloading be marked as discardable file to memory device comprises:
Determine that the power level of the battery relevant to memory device is higher than intended level.
10. method according to claim 1, wherein determine and in memory device, store the download condition that the request that is marked as discardable file is associated comprise:
Determine and the date-time storing the request that is marked as discardable file be associated in the storage area of memory device.
11. methods according to claim 1, wherein determine and in memory device, store the download condition that the request that is marked as discardable file is associated comprise:
Determine store be marked as in discardable file to memory device before available memory in memory device higher than intended level.
12. methods according to claim 1, also comprise:
Marking described file itself to indicate this file is to discard file.
13. methods according to claim 1, wherein, describedly comprise by file mark and discard priority for discarding file to described file allocation.
14. methods according to claim 1, wherein, described main file system framework is master file allocation table (FAT), and described file system architecture of discarding to discard FAT.
15. methods according to claim 1, also comprising based on this file of mark is can discard file to manage the storage being marked as discardable file downloaded in memory.
16. 1 kinds of storage systems, comprising:
With the main frame of nonvolatile memory communication, described nonvolatile memory includes file system, and this file system has main file system framework and can discard file system architecture; And
Processor on main frame, for managing the storage of the one or more files in the storage area of memory device, wherein, described processor is configured to:
Receive be derived from content provider will the request of storage file in memory device, wherein this storage system determines that this file is discardable file;
This file is labeled as the file discarded in the file system of described memory device, wherein in order to by file mark for file can be discarded, described processor is configured to:
By file mark for file can be discarded, being marked in the file system that is associated with described storage system of described file is carried out;
Make storage system upgrade described main file system framework, to make file be associated with bunch chain being assigned with this file, the physical location in the described memory device be associated with described file at least covered by described bunch of chain; And
Make can discard file system architecture described in the renewal of described memory device, to make the physical location in described memory device be associated with described file, wherein this file is labeled as and can discards file so that by this file system of this file hiding, and wherein discarded file comprises the unsolicited content that user does not also ask;
Determine and the download condition storing the request that is marked as discardable file be associated in memory device;
Based on determined download condition, determine whether to postpone to download to memory device to be marked as discardable file; And
Manage be marked as the download of discardable file to memory device based on whether postponing to download to memory device the determination being marked as discardable file.
17. storage systems according to claim 16, wherein, in order to manage the download being marked as discardable file, described processor is also configured to:
Postpone to download to memory device to be marked as discardable file, until meet the parameter relevant to the condition of download.
18. storage systems according to claim 16, wherein in order to the download condition determined with store the request that is marked as discardable file be associated in memory device, described processor is also configured to:
Determine to can be used for downloading to memory device the network type being marked as discardable file.
19. storage systems according to claim 18, wherein, in order to determine to can be used for downloading to memory device the type being marked as the network of discardable file, described processor is also configured to:
Determine that Wireless Fidelity (WiFi) network can be used for downloading to memory device being marked as discardable file.
20. storage systems according to claim 18, wherein, in order to determine to can be used for downloading to memory device the type being marked as the network of discardable file, described processor is also configured to:
Determine that cellular network can be used for downloading to memory device being marked as discardable file.
21. storage systems according to claim 16, wherein in order to the download condition determined with store the request that is marked as discardable file be associated in memory device, described processor is also configured to:
Determine the power condition that can be used for memory device when downloading be marked as discardable file to memory device.
22. storage systems according to claim 21, wherein in order to determine the power condition that can be used for memory device when downloading be marked as discardable file to memory device, described processor is also configured to:
Determine that this memory device is coupled with power supply.
23. storage systems according to claim 21, wherein in order to determine the power condition that can be used for memory device when downloading be marked as discardable file to memory device, described processor is also configured to:
Determine that the battery relevant to memory device is just charged.
24. storage systems according to claim 21, wherein in order to determine the power condition that can be used for memory device when downloading be marked as discardable file to memory device, described processor is also configured to:
Determine that the power level of the battery relevant to memory device is higher than intended level.
25. storage systems according to claim 16, wherein in order to the download condition determined with store the request that is marked as discardable file be associated in memory device, described processor is also configured to:
Determine and the date-time storing the request that is marked as discardable file be associated in memory device.
26. storage systems according to claim 16, wherein in order to the download condition determined with store the request that is marked as discardable file be associated in memory device, described processor is also configured to:
Determine store be marked as in discardable file to memory device before available memory in memory device higher than intended level.
27. storage systems according to claim 16, wherein, it is to discard file that described processor is also configured to tab file itself to indicate this file.
28. storage systems according to claim 13, wherein, describedly comprise by file mark and discard priority for discarding file to described file allocation.
29. storage systems according to claim 13, wherein, described main file system framework is master file allocation table (FAT), and described file system architecture of discarding to discard FAT.
30. storage systems according to claim 13, wherein processor is also configured to based on this file of mark is can discard file to manage the storage being marked as discardable file downloaded in memory.
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 CN102257497A (en) 2011-11-23
CN102257497B true 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
US9104686B2 (en) 2008-12-16 2015-08-11 Sandisk Technologies Inc. System and method for host management of discardable objects
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
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 (1)

* 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

Family Cites Families (11)

* 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
WO2003030026A2 (en) * 2001-10-02 2003-04-10 Symbian Limited Mobile web browsing device
JP3816858B2 (en) * 2002-10-15 2006-08-30 株式会社東芝 Information distribution method
US7395048B2 (en) * 2002-12-26 2008-07-01 Motorola, Inc. Unsolicited wireless content delivery and billing apparatus and 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
BRPI0621547A2 (en) * 2006-04-12 2011-12-13 Thomson Licensing delayed video transfer service using a non-hierarchical content distribution network (p2p)
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 (1)

* 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

Also Published As

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

Similar Documents

Publication Publication Date Title
CN103154948B (en) Card-based management of discardable files
US9015209B2 (en) Download management of discardable files
CN102257497B (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
KR102240557B1 (en) Method, device and system for storing data
CN102257491A (en) Discardable files
CN102292723A (en) Discardable files
CN101743546B (en) Hierarchical storage management for a file system providing snapshots
US8306950B2 (en) Managing data access requests after persistent snapshots
CN102292720A (en) Method and apparatus for managing data objects of a data storage system
US8205060B2 (en) Discardable files
US8375192B2 (en) Discardable files
US9020993B2 (en) Download management of discardable files
US9063656B2 (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.