CN102292723A - Discardable files - Google Patents

Discardable files Download PDF

Info

Publication number
CN102292723A
CN102292723A CN2009801550400A CN200980155040A CN102292723A CN 102292723 A CN102292723 A CN 102292723A CN 2009801550400 A CN2009801550400 A CN 2009801550400A CN 200980155040 A CN200980155040 A CN 200980155040A CN 102292723 A CN102292723 A CN 102292723A
Authority
CN
China
Prior art keywords
file
memory device
fat
discard
bunch
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.)
Pending
Application number
CN2009801550400A
Other languages
Chinese (zh)
Inventor
J.G.哈恩
B.K.V.贾甘纳德哈
N.R.苏布拉马尼安
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 Digital Israel Ltd
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
Priority claimed from US12/336,089 external-priority patent/US20100153474A1/en
Application filed by SanDisk IL Ltd filed Critical SanDisk IL Ltd
Publication of CN102292723A publication Critical patent/CN102292723A/en
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/14Protection against unauthorised use of memory or access to memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • 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
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/17Details of further file system functions
    • G06F16/1727Details of free space management performed by the file system

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

The present application includes methods and system for managing a storage device. In one implementation, a storage allocator that is present in a host or a storage device receives a request to store a file in a storage area of the storage device. The storage allocator marks the file as discardable in a file system structure associated with the storage device and updates a primary file allocation table ('FAT') to associate a cluster chain that is allocated to the file with the file. The storage allocator additionally updates a discardable FAT or a database to reflect a physical location of the file, or may generate one or more location files that store the physical location of the file. The storage allocator then manages the storage area device based on the FAT and a discardable FAT, database, or one more location files indicating the physical location of the file.

Description

Can discard file
Related application
The application is the U.S. Patent application No.12/336 that submits on Dec 16th, 2008, the part continuation application of 089 (pending trial), and the application requires the U.S. Provisional Patent Application No.61/159 in submission on March 10th, 2009,034 rights and interests, each integral body of these applications is incorporated herein by reference.
Technical field
The present invention relates generally to memory device, and more specifically, relate to the method and apparatus of management document in memory device.
Background technology
The use of non-volatile memory device in recent years increases apace because they portable and they have little physical size and big memory capacity.Memory device has appearred in various designs.Some memory devices are regarded as " embedded (embedded) ", mean that they can not and not be to remove with the main process equipment that the cause user works from them.Other memory devices are removable, this means that the user can move to another equipment from a main process equipment (for example, from digital camera) with them, or replace another memory device with a memory device.
The digital content of storing in memory device can derive from the main frame of memory device, and for example, digital camera (exemplary host) is caught image and they are translated as corresponding numerical data.Then, digital camera is being stored in numerical data in the memory device of its operation.The digital content of storing in memory device can also derive from remote source: it can pass through the main frame that data network (for example, the Internet) or communication network (for example, cellular phone network) are sent to memory device, downloads to memory device by this main frame then.Remote source can be for example service supplier or content provider.Service supplier and be referred to as " publisher (publishers) " below the content provider.
The user of memory device can come voluntarily underground year media content and advertisement by ask media content or advertisement from the publisher.But sometimes, the publisher who wants to improve their income sends content and the permission of not inquiring them to the user, and sometimes in addition the user do not know that such content has been downloaded to their memory device.The publisher does not obtain user's agreement and is referred to herein as " unsolicited content " to their content of transmission.Usually, unsolicited content intention is being consumed after publisher's defrayment or after the acceptance and guarantee expense by the user.
By downloading unsolicited content to user's memory device, the publisher wish the user with this unsolicited content of final consumption with the acquisition expense, increase their income thus.The publisher do not solicit the user agreement and in the unsolicited content of storage on the memory device and wish this user will consume these contents to come the acquisition expense be the known concept that is called as " predict consignment (predictive consignment) " in the media releasing field.But unsolicited content may not know its existence the user of memory device or does not want to consume under its situation still to be stored in the memory device.The unsolicited content of storage has reduced available (that is, the free time) user storage space on memory device in memory device, and this is not expect from user's angle.The user may find to exist in memory device content that space still less is used for user oneself (for example, music file), because other people (promptly, some publishers) occupied the part storage space on the memory device, or the user may have to reclaim the storage space that (reclaim) takies like this by deleting unsolicited content.
A part solution of this problem of the part storage space that occupies the user comprised stop the visit of publisher, such as by stoping publisher's website to memory device.This solution may be acceptable to the user, but its angle from the publisher is problematic, because the publisher will obtain sales volume still less and lose potential income source.Another part solution to this problem comprises to main frame content distributed (that is, stores content files in the memory device of these main frames), and remove this content when it becomes uncorrelated.Remove this content of being stored from memory device when in other words, the unsolicited content of publisher that has produced this content becomes uncorrelated.If passed through the time of the consumption that is used for initiatively providing content, maybe when having the indication that this user can not the unsolicited content of consumption, this content is regarded as uncorrelated.
Therefore, there are the needs that solve about the problem of unsolicited file.Particularly, when the publisher should be allowed to carrying out in its commercial process when memory device is downloaded unsolicited content, these are downloaded should have the effect that hinders in essence to user experience.
Summary of the invention
Therefore, below will be useful: can work as and in memory device, hold the required storage space of unsolicited file when not required for user's file, at the unsolicited file of memory device stores, and remove unsolicited file so that guarantee the idle storage space of minimal size for user file from memory device.Various embodiment are designed to realize this file management, and its example is provided at this.
In order to address the above problem, the file that the file of the storage in memory device maybe will be stored is marked as that can not discard or discardable in the structure of the file system that is associated with memory device.The file of each mark has the discarded priority level that is associated with it.The file that New Development is done business (promptly, unsolicited file) have only when in memory device the storage it can will the storage nargin constriction safe in utilization to the nargin that exceeds expectation, just be allowed to store in memory device, this is stored nargin safe in utilization and reserves for user file.On the other hand, even will storing nargin constriction safe in utilization in their storage, user file to the situation of the width that exceeds expectation, also is allowed to be stored in the memory device.But, in this case, by remove one or more desired width that file recovers to store nargin safe in utilization of discarding from memory device.Can discard file is equal to or higher than in its discarded priority level under the situation of (or be lower than, as described here) predetermined discarded threshold value and removes from memory device.
In some embodiments, the memory allocator that occurs in main frame, memory device or both combinations uses master file allocation table (FAT) and can discard to store in the next storage area at memory device of FAT, database or one or more position paper and can discard file.Main FAT is stored in bunch chain and can discards relevance between the file, can discard the physical location of one of FAT, database or one or more position papers indication file.Information in can discarding FAT, database or one or more position paper is used to cover among the main FAT corresponding to the FAT clauses and subclauses that can discard file.By covering the FAT clauses and subclauses with the information that can discard in FAT, database or the one or more position paper, FAT 32 file system checks and fix tool will with can discard that file is associated bunch be considered as being assigned with, rather than data fragment (be also referred to as lonely bunch), the instrument that prevents thus can be discarded file and change into and can not discard file.Memory allocator is based on main FAT and can discard the storage area that FAT, database or one or more position paper come the managed storage device.
Can discard file system provides in addition and controls application based on the user ID that is associated with application and can carry out and the ability that can discard what operation that file is associated.User ID can be that sign has been set up the application that can discard file or owner's user ID of user.Usually, provide following ability to the application that is associated with owner's user ID, i.e. what application that definition is associated with additional user ID can be visited the application that can discard file and be associated with additional user ID and can be taked what action at discarding file.Additional user ID can be associated with single application or unique user, and perhaps additional user ID can be and a plurality of application or a plurality of user-dependent sharing users ID.
Description of drawings
Illustrate various example embodiment in the accompanying drawings, these examples are not restrictive.To understand, for illustrated simplification and removing, the element shown in the figure that below quotes not necessarily is painted as proportional.And, under the situation of thinking fit, can between accompanying drawing, repeat reference numerals indicate identical, corresponding or similar elements.In the accompanying drawing:
Fig. 1 is the block scheme according to the storage system of example embodiment;
Fig. 2 is the block scheme according to the storage system of another example embodiment;
Fig. 3 is the block scheme according to the memory allocator of example embodiment;
Fig. 4 is the method that is used for management document according to example embodiment;
Fig. 5 is used for managing method in the storage of the file discarded of memory device according to example embodiment;
Fig. 6 is the method at the one or more unsolicited files of file system mark of FAT 32 structures of being used for according to example embodiment;
Fig. 7 is the example directories zone related with FAT 32 epiphases;
Fig. 8 is FAT 32 tables according to example embodiment;
Fig. 9 is the NTFS table according to example embodiment;
Figure 10 is the logical image based on the file system of FAT according to example embodiment;
Figure 11 has demonstrated according to the memory management method of the file of the disclosure;
The main FAT of Figure 12 a examples shown;
Figure 12 b examples shown can be discarded FAT;
Figure 13 is used to use main FAT and can discards the process flow diagram that FAT comes the method for managed storage device;
Figure 14 is used to use FAT and database to come the process flow diagram of the method for managed storage device;
Figure 15 is used to use FAT and position paper to come the process flow diagram of the method for managed storage device;
Figure 16 illustrates the example FAT that comprises bunch chain, wherein, forms two or more bunches order of this bunch chain and is upset;
Figure 17 illustrates example FAT and the position paper that is associated, and wherein, FAT comprises a bunch chain, wherein, form bunch chain bunch in two or more orders upset;
Figure 18 is the process flow diagram that is used to use the method for FAT managed storage device, wherein, forms two or more bunches order of bunch chain and is upset;
Figure 19 is used for using conversion lock (conversion lock) to prevent from can discard the process flow diagram of the method for file when discarding file conversion when realizing that main FAT opens with the file system that can discard FAT; And
(mask) user ID is sheltered in the example position that Figure 20 is shown in the file system.
Embodiment
Following description provides the various details of example embodiment.But this description is not intended to limit the scope of claim, but various principle of the present invention has been described and has put into practice its mode.
In order to solve unsolicited content and relevant issues, user file has been given the memory priority level that is higher than alternative document, and keeps storage nargin safe in utilization to guarantee this priority." user file " be memory device user view resource be stored in the storer or agreed the file that it is stored in memory device.For example, the user is regarded as user file to the music file of the memory device download of s/he.Asked or agree to store by the user, user file is regarded as " imploring " file.
" alternative document " is referred to herein as " publisher's file " and " unsolicited file "." publisher's file " is that the user does not ask or do not know, and a period of time does not also know at least, and is stored in the file in the memory device.The user may not want to use unsolicited file.Untapped unsolicited file is tending towards taking the expensive storage space on user's memory device.Therefore, according to principle disclosed herein, this file have only storage they not constriction store nargin safe in utilization and just be allowed to be stored in the memory device.Present the memory priority level by keeping the idle storage space (that is, storing nargin safe in utilization) that to be preserved for following user's file to user file.Storage nargin safe in utilization must be kept and when needs or expectation, user file can be in memory device, stored so that guarantee.
If for some reasons, store the narrow of nargin ratio safe in utilization expectation, will remove one or more unsolicited files so that recover storage nargin safe in utilization from memory device.Keep storage nargin safe in utilization and guarantee to be used for the additional user file storing space, if this file is downloaded to memory device.For this reason, unsolicited file is marked as " discardable " in the structure of memory file system, and if desired, is removed after a while to reclaim at least and keeps the required idle storage space of storage nargin safe in utilization
Because the user uses various possibilities of discarding file can discard file and another can discard between the file different at one, therefore, according to such as the possibility of using file, the possible income that is associated with the use file, the size of file, the type of file, the position of file, term of life one or more standards such as (age) of file, distribute discarded priority level in advance each unsolicited file (that is, each can discard file).For example, can may come to determine to discard priority level by income potential.According to another example, movie promos or advertisement will have the discarded priority higher than actual film, because the user dislikes seeing propaganda film and advertisement usually.According to another example, most probable will be assigned with minimum discarded priority level by one or more files of discarding that the user uses, and this means that this file will be last (one or more) file that removes from memory device.In other words, the use possibility that can discard file is high more, and the rank of discarded priority level of distributing to this document is low more.If even one or more file of discarding has been removed, the storage of expectation nargin safe in utilization is also recovered fully, then will remove the additional file discarded from memory device, is resumed up to the storage nargin of expecting safe in utilization.
In brief, file system realizes being used to store and organize the method for computer documents.File system comprise for store, laminated tissue, manipulation, navigation, visit and retrieve data and the abstract data type implemented and the set of metadata.Abstract data type and metadata form " directory tree ", can visit, handle and start computer documents (also abbreviating " data file " or " file " as at this) by it." directory tree " generally includes root directory and optional sub-directory.Directory tree is stored in the file system as one or more " catalogue files ".The metadata that comprises in file system and the set of catalogue file are referred to herein as " file system structure ".Therefore, file system comprises data file and the file system structure that helps to visit, handle, upgrade, delete and start this data file.
File allocation table (" FAT ") is the file system framework of example.The FAT file system with comprise DR-DOS, OpenDOS, MS-DOS, Linux, the various operating systems of Windows etc. are used together.The file system of FAT structure use concentrate about which storage area be idle or be assigned with and each file be stored in the table of the information where on the memory device.In order to limit the size of this table, be called " bunch " the group of contiguous sector to the file allocation storage space.Along with the evolution of memory device, bunch maximum quantity increased and the quantity of the position that is used to identify bunch has increased.The version of FAT form derives from the quantity of epi-position: FAT 12 and uses 12; FAT 16 uses 16, and FAT 32 uses 32.
Another file system framework is known as New Technology File System (" NTFS ").At present, NTFS is the Windows NT standard file system of (comprising its version Windows 2000 after a while, Windows XP, Windows Server2003, Windows Server 2008 and Windows Vista).FAT32 and NTFS are can be to the example file system that memory device 100 provides.
Fig. 1 shows typical memory device 100.Memory device 100 comprises the storage area 110 of the various types of files of storage (for example, music file, video file etc.), and some in various types of files can be user files, and other can be publisher's file.Memory device 100 also comprises the memory controller 120 via data and control line 130 managing storage areas 110.Memory controller 120 is also communicated by letter with main process equipment 140 via host interface 150.Main process equipment 140 can be specialized hardware or universal computing platform.
Storage area 110 can be a nand flash memory type for example.Memory controller 120 by control example as " reading ", " writing " and " wiping " operation, abrasion equilibrium (wear leveling) etc. and by control and communicating by letter of main frame 140 control oriented/from the data transmission of storage area 110 and to/from the data transmission of main process equipment 140.Storage area 110 can comprise the file of for example user file and publisher, only allow the protected data that used by authorization host equipment and only by the memory controller 120 inner secure datas that use.Main frame (for example main frame 140) is access storage areas territory 110 directly.That is to say that if for example main frame 140 requires or need be from the data of memory device 100, main frame 140 must be asked it from memory controller 120.In order to help easily to visit the data file of storage in memory device 100, memory device 100 has been provided file system 160.
Storage area 110 is divided into three parts on function: user area 170, publisher zone 180 and idle storage space 190.User area 170 is storage spaces of storage user file in the storage area 110.Publisher zone 180 is storage publisher file storing space in the storage area 110.Idle storage space 190 is storage spaces of storage area 110 hollows.Can use idle storage space 190 to preserve user file or publisher's file.When storage in idle storage space 190 during user file, the storage space of preserving user file deducts from idle storage space 190 and adds user area 170 to.Similarly, when storage publisher file in idle storage space 190, preserve publisher's file storing space and from idle storage space 190, deduct and add publisher zone 180 to.If remove (promptly, deletion) user file or publisher's file from storage area 110, idle storage space is added to (it turns back to) idle storage space 190.
If the size of idle storage space 190 allows, then the user of memory device 100 can be from main frame 140 download user files to storage area 110.The user file of downloading will be stored in the idle storage space 190, and as previously discussed, the storage space of preserving this document will deduct and be added to user area 170 from idle storage space 190.As mentioned above, user file has the priority that is higher than other (for example, the publisher) files, and in order to guarantee this priority, the storage nargin safe in utilization of expectation is set, and if desired, recovers in mode described below.
Main frame 140 comprises memory allocator 144, to help to recover idle storage space 190.Memory allocator 144 can be hardware, firmware, software or its combination in any.Usually, memory allocator 144 determines that the files (for example file 142) that transmit to main frame 140 are user file or publisher's file, and the file that mark transmitted in view of the above then (that is, as can not discard file or as discarding file).
If memory allocator 144 is determined can not discard to the file (for example, file 142) that main frame 140 transmits, for example, because the user is a user file, then memory allocator 144 is stored this document in the mode of routine in storage area 110.As mentioned above, preservation can not be discarded the part that file storing space will be added to user area 170 or user area 170 in the storage area 100.But if memory allocator 144 determines that the file that transmits to main frame 140 is discardable, for example because it is publisher's file, then memory allocator 144 mark this document are as discardable.If idle storage space 190 is greater than the storage nargin safe in utilization of expectation, memory allocator 144 is the file discarded of storage mark in idle storage space 190 also, and as mentioned above, preserve in the idle storage space 190 and can discard file storing space and from idle storage space 190, deduct (promptly, idle storage space is reduced), and to 180 interpolations (this interpolation logically is shown as one or more files 182 of discarding) of publisher zone.
As mentioned above, the possibility that publisher's file may be used by the user may change between publisher's file and another, and this makes that having minimum publisher's file that uses possibility becomes and be used for first candidate that removes from storage area 110.Therefore, except tab file as that can not discard or discardable, can discard file be stored in the storage area 110 before, simultaneously or afterwards memory allocator 144 can be discarded the discarded priority level of file allocation to each.
By tab file as can not discard or as discardable, distribute discarded priority level by memory allocator 144, and by using the file system 160 (or its reflection) of memory device 100, memory allocator 144 " is learnt " user file and the quantity of publisher's file and their size and the logical place in storage area 110 in storage area 110.Know this information (that is, the quantity of file, size and position), and particularly based on the file of one or more marks, memory allocator 144 managing storage areas 110 and request with the storage of unsolicited file in storage area 110.Managing storage area 110 or the storage of file of management in storage area 110 can comprise: for example be marked as discardable one or more file and recover to store nargin safe in utilization by optionally removing, be marked as discardable All Files and discharge storage area by removing, and with the memory module that bunch is remapped to lower-performance of file.The file of managing storage area 110 or storage therein can comprise managing storage area 110 or storage therein file other, aspect additional or that replace.
Memory allocator 144 is also known by the discarded rank that can discard file allocation to each can maybe should discard the order that (promptly delete or remove from storage area 110) can discard file, so that revert to the idle storage space (that is, recovering the storage nargin safe in utilization of expectation) of following user file original reservation.Therefore, if the user wants the new user file of storage in storage area 110, but there are not enough idle storage space to hold this user file (this means that storage nargin safe in utilization is narrower than what expect), memory allocator 144 uses are assigned to the discarded priority level that can discard file and delete repeatedly one by one to discard file, to regain the more free storage space (promptly, expansion idle storage space 190), recovered fully up to the storage nargin safe in utilization of expectation.As mentioned above, the storage nargin of recovering fully safe in utilization guarantees that with high probability enough idle storage space are reserved the user file that is used for future.Only in response to the request that receives the new user file of storage, just remove or delete and to discard file from memory device 100, want to use the file discarded of storage when having because consider the user, and therefore, have only new user file need hold discarded file storing space, just removing this from memory device can discard file.Memory allocator 144 can be embedded into or be incorporated in the main frame 140, or it can reside in the outside (be shown as frame of broken lines 144 ') of main frame 140 and memory device 100.
Memory allocator 144 has the representativeness reflection (image) of file system memory device 100 or that be associated with memory device 100.It is that can not discard or discardable with file mark that memory allocator 144 uses the file system reflection of memory device, and can discard the discarded rank of file allocation to each.In an example, file system comprises FAT, and in this case, carries out mark by one or more untapped positions are set in the not use part of the FAT clauses and subclauses that are associated with this document.Because different file system has different structures, tab file (promptly be labeled as can not discard or discardable) and distribute discarded rank fit for service file system structure is as describing in detail below in conjunction with Fig. 6 to 10.
Fig. 2 is the block scheme according to the portable memory spare 200 of another example embodiment.Memory controller 220 is similar to memory controller 120 and equally operates, and memory allocator 244 is similar to memory allocator 144 and equally operates.Memory allocator 244 can be hardware, firmware, software or its combination in any.Memory allocator 244 is internally cooperated with memory controller 220.Whenever memory controller 220 (this request comprises whether this document is the indication that can discard file) when main frame 240 is received in the storage request of storage file the storage area 210, memory controller 220 notice memory allocators 244 should storages be asked and whether this document is discardable.Then, memory allocator 244 in the structure of the file system that is associated with memory device 200 mark this document for discarding or discardable.Usually, the application of operation determines that file is to discard file on main frame 240, and sending sign or other to memory controller 220, to indicate this document be to discard file.The application of operation sends the part of sign or other indication conduct requests storage protocol of storage file on memory device on main frame 240.The example of this storage protocol comprises the use of POSIX file system function or java.io class tree.
If memory allocator 244 determines that this new file is discardable, memory allocator 244 is discarded priority level according to user's probability of use to new file allocation.Then, the current size of memory allocator 244 assessment idle storage space 290, and whether decision should remove from storage area 210, and (that is deletion) is one or more discards file so that be new file layout space.If should remove a discardable file or a plurality of file from memory device, memory allocator 244 which (a bit) file of decision are the current alternative files that are used to remove.Then, the file discarded that memory allocator 244 notice memory controllers 220 should remove from storage area 210, in response to this notice, memory controller 220 removes a discardable file or a plurality of file by memory allocator 244 indications.In some configurations of portable memory spare 200, memory allocator 244 can functionally be arranged between memory controller 220 and the storage area 210.Memory allocator 244 functionally is arranged in the configuration between memory controller 220 and the storage area 210 therein, and memory allocator 244 or storage area 210 must be born some functions of memory controller 220.In this configuration, storage area 210 is made of the memory cell with the rank communication higher than quickflashing NAND agreement.
Fig. 3 is the block scheme according to the memory allocator 300 of example embodiment.Memory allocator 300 comprises memory cell 310, processor 320 and interface 330.Memory cell 310 can keep file system structure or the reflection of the file system structure that is associated with memory device (for example, the memory device 200 of Fig. 2).The file system that processor 320 management are associated with memory device.Interface 330 goes for the memory controller cooperation with main frame and memory device, as shown in fig. 1, or only with the memory controller cooperation of memory device, as shown in Figure 2.
Processor 320 is configured or is applicable to via interface 330 to receive request with storage file in the storage area of memory device, and mark this document is discardablely maybe can not discard in the structure of the file system that the memory device with memory allocator 300 operations is associated.If be attached to the memory controller 220 (and therefore receiving the USB/MSC order of SCSI for example or packing rather than the order of file-level) of Fig. 2 on interface 330 functions, the request that is received is in the rank more much lower than file-level.That is to say that the request that is received will be the request at LBA (Logical Block Addressing) place memory sector, when by the suitable translation of main frame, this LBA (Logical Block Addressing) will be corresponding to file.If the NVMHCI agreements supported by memory controller 220 or such as networking file system protocol or the similar agreement of NFS, memory controller 220 can obtain the request of file-level.Therefore, be not limited to NVMHCI or be similar to the embodiment of NVMHCI such as the memory controller of memory controller 220 with such as the communication between the interface of interface 330.Communication interface 330 can be the part of memory allocator 300, as shown in Figure 3.
Processor 320 also is configured or is applicable to memory device to send tab file, is to distribute discarded priority level discardable comprising to this document with file mark.If the file system of being used by memory device is based on FAT's, processor 320 (for example, m=4) is provided with corresponding value, to the discarded priority level of the file allocation of mark by m the highest (that is, the highest effectively) position corresponding to tab file in FAT.The respective value of the highest significant position in the FAT clauses and subclauses is given in setting or setting can be for the value of NTFS catalogue entry or it can be relevant with the attribute of file.By " attribute ", mean metadata tag or certain data structure in the head of FAT table or NTFS table, this FAT table or NTFS table comprise the information that belongs in the type of this table content stored." advertisement ", " award content " and " promoting (freely) content " are can be in the content of FAT table or the exemplary types of storing in the NTFS table.It is for example last file of visiting, file size, file type etc. that discarded other replaceable standard of level is set.
The quantity m of most significant digit that is exclusively used in the FAT32 clauses and subclauses of tab file can be four or be less than four, because do not use those positions.In addition, the position of use is many more, and then operable discarded priority level is many more.For example, use three and (that is, m=3) provide eight (2 3=8) discarded priority level and use four (that is, m=4) to provide 16 (2 4=16) discarded priority level (that is, comprise discarded priority level " 0 ", it is assigned to can not discard file).In other words, if the file of mark can not be discarded, the value of described processor 320 a m most significant digit is set to 0, if or the file of mark be discardable, the value of processor 320 a m most significant digit is set to 1 and 2 mValue between-1.Discarded priority level cue mark file can maybe should be from the discarded priority of memory device.For example, depend on embodiment, value " 1 " can be represented the file discarded that has lowest priority or have limit priority, and value " 2 m-1 " file discarded that can correspondingly represent to have limit priority or have lowest priority.
Processor 320 can use according to the expection of file, as above describes in conjunction with the possibility that will be used unsolicited file by the user of memory device or probability, comes to distribute discarded priority level to tab file.Processor 320 can receive or in response in memory device the storage new file each the request, the discarded priority level of update mark file.Processor 320 can be independent of the one or more new request of storage file in memory device and upgrade the discarded priority level of given tab file.For example, before be that the file of high priority can reduce its priority after the certain hour section.The file that processor 320 deletion is stored in memory device is if that this document has is relative, the discarded priority level that is equal to or greater than predetermined discarded threshold value.Processor 320 can be write or the quantity of adding comes (again) that discarded threshold value is set based on file, or depends on the do business availability of file of the expection use of the idle storage space on the memory device or New Development.
Memory cell 310 can be preserved and comprise the allocation table 340 of processor 320 to the discarded priority level of the file allocation of storing in memory device.In addition, allocation table 340 can be preserved the identifier of file and the information that file is associated with the discarded priority level that is assigned to file.Allocation table 340 can be preserved discarded threshold value in addition.The information of in allocation table 340, preserving allow processor 320 signs can from memory device remove which or which can discard file so that recover the storage nargin safe in utilization of expectation.
In response to the request that is received in the new file of storage in the memory device, processor 320 is evaluated at the size of the idle storage space (f) on the memory device, if and the assessment size of the idle storage space on the memory device is greater than pre-sizing, then in memory device, store new file, if or it is not more than pre-sizing, processor 320 is searched for the one or more files of discarding that can delete in memory device, and when finding so one or more file, processor 320 these file of deletion or a plurality of file are expanded current idle storage space (f), so that total size of the idle storage space of expansion is equal to or greater than pre-sizing.If be equal to or greater than predetermined discarded threshold value (for example, between 1 and 15, (comprise given figure), for example 15) with discarding discarded priority level that file is associated, can delete a discardable file or a plurality of file from memory device.
After idle storage space expanded to enough, processor 320 allowed the new file of storage in the idle storage space of expansion.By " idle storage space expands to enough ", mean by the storage space of release busy one by one and expand idle storage space, can hold new file and the storage of the above-mentioned expectation of non-constriction nargin safe in utilization up to total idle storage space, or equivalence ground is equal to or greater than pre-sizing or can discards file up to having removed all up to total size of the idle storage space of expansion.
Controller 320 can be system's (" SoC ") device or a system in package (" SiP " on the finished chip of standard, System-in-Package) device or General Porcess Unit have the specific software of carrying out step described here, operation and assessment when being performed.Perhaps, processor 320 can be by using hardware to realize the special IC (" ASIC ") of step described here, operation and assessment.
Fig. 4 is used to store the method that can discard file according to an example embodiment.Fig. 4 will describe in conjunction with Fig. 1.In step 410, main frame 140 is received in the request of storage file 142 in the memory device 100.In step 420, memory allocator 144 mark this document are " discardable " or " can not discard ", and in step 430, if idle storage space 190 is enough big, then the memory controller 120 to memory device 100 sends tab file (that is, being used in storage area 110 storages).Also at tab file on the meaning of the discarded priority level of file allocation.In step 440, memory allocator 144 is based on the file of mark and the file that comes (by communicate by letter with memory controller 120) managing storage area 110 or store in storage area 110 based on the one or more files that have been labeled alternatively.
Fig. 5 is used for managing method in the storage of the file discarded of memory device according to an example embodiment.To Fig. 5 be described explicitly with Fig. 1.New file is to be used for memory device 100 stored candidate persons.Cicada memory device 100 file system 160 work as before image, memory allocator 144 checks in the current size " f " of step 510 assessment idle storage space 190 current size is whether the idle storage space 190 of f can hold this new file (that is, as stored candidate person file).Usually, memory allocator 144 mode of handling new file depends on that new file is user file or publisher's file.Therefore, memory allocator 144 determines that at first new file is user file or publisher's file.
New file is a user file
In step 520, memory allocator 144 checks whether idle storage space 190 can hold new user file.If idle storage space 190 can be held new user file (being " Y " shown in the step 520), memory allocator 144 in step 560 in idle storage space 190 the new user file of storage, and do not consider that the storage of expecting nargin safe in utilization is whether because the new user file of storage and by constriction.If the storage nargin safe in utilization of expectation narrows down (promptly memory allocator 144 is stored new user file in idle storage space 190 after, storage nargin safe in utilization with respect to expectation), memory allocator 144 is not taked further action at the storage of new user file.
But, if the storage nargin safe in utilization of expectation narrows down memory allocator 144 is stored new user file in idle storage space 190 after, step 550 comprises additional step, wherein, memory allocator 144 determines that the file discarded which is stored should be at first deleted, which can discard file should be secondly deleted, or the like, so that keep the storage of expectation nargin safe in utilization.Memory allocator 144 determines to the discarded rank of the discarded file allocation of being stored which can discard file based on memory allocator 144 should be at first deleted, and which can discard file should be secondly deleted, or the like.
If determine that at step 520 memory allocator 144 idle storage space 190 can not hold new user file (being " N " shown in the step 520), then memory allocator 144 is determined idle storage space 190 and whether enough is used to store new user file during by the storage space combination that can discard file consumption in step 530.If the storage space of combination is not enough (being " N " shown in the step 530), this means no matter what will be deleted and to discard file that new user file is because its bigger size all can not be stored in " non-user " storage area.If which the storage space of combination enough (be " Y " shown in the step 530), memory allocator 144 search in the file of being stored discarded in step 540 can discard file and can deletedly be used for new user file so that discharge enough storage spaces.Memory allocator 144 is searched for these by the file system of using memory device 100 can discard file because aforesaid, memory allocator 144 in the file system of memory device with file mark for that can not discard or discardable.In addition, also be embedded in the file system of memory device to the discarded rank that tab file distributes, so that each discarded rank is associated with corresponding tab file by memory allocator 144.
Finding the file discarded (" DF ") that at first go out of use when (being called as " DF1 " below this document), memory allocator 144 deleted file DF1 are so that add its storage space (this is called as " SP1 " below storage space) or turn back to storage space 190.
Then, in step 550, memory allocator 144 checks whether the idle storage space 190 (that is, idle storage space 190 adds the storage space that returns recently, or f+SP1) of expansion can hold new user file.If the idle storage space 190 of expansion (promptly, f+SP1) still can not hold new user file (being " N " shown in the step 550), memory allocator 144 repeatedly repeating step 550 (this illustrates at 555 places repeatedly) in case return additional storage space to idle storage space 190 (that is, by find and delete should be deleted next file discarded).
When finding next file discarded with time the highest discarded priority (this next can discard below the file be called as " DF2 "), memory allocator 144 deleted file DF2 are so that discharge and add additional storage space (this additional storage space is hereinafter referred to as " SP2 ") to idle storage space 190.Then, in step 550, memory allocator 144 checks once more whether the idle storage space 190 (that is, idle storage space 190 adds two storage spaces that discharge recently, or f+SP1+SP2) of expansion can hold this new file.If expansion idle storage space 190 (being f+SP1+SP2) still can not hold this new file (shown in the step 540 for " N "), then memory allocator 144 once more repeating step 540 in case find should be deleted next file discarded.Memory allocator 144 repeating steps 540 and 550 can hold this new user file (being " Y " shown in the step 550) up to the idle storage space 190 of accumulation.Then, in step 560, memory allocator 144 is stored this new user file in storage area 110.
As mentioned above, if it is narrower than the storage nargin safe in utilization of expectation that actual storage nargin safe in utilization becomes memory allocator 144 is stored new user file in idle storage space 190 after, step 560 can comprise additional step, wherein, memory allocator 144 determines that the file discarded which is stored should be at first deleted, which can discard file should be secondly deleted, or the like, so that recover the storage nargin safe in utilization of expectation.
New file is publisher's file
If new file is publisher's file, have only idle storage space 190 can hold this New Development do business file and the storage nargin safe in utilization of non-constriction expectation, memory allocator 144 is storage (in step 560) this New Development file of doing business in storage area 110.That is to say that file will cause the storage nargin safe in utilization of constriction expectation if the storage New Development is done business, then memory allocator 144 can determine not in storage area 110 this New Development of storage file of doing business.In this case, memory allocator 144 can be avoided this document is taked any action, and not from memory device deleted file come to be the New Development file Free up Memory of doing business.Alternatively, memory allocator 144 can be deleted the file discarded of one or more higher priority so that for having the file the discarded release storage space of low discarded priority in step 540.As mentioned above, file is labeled in the file system of memory device 100 and discarded rank is embedded in the file system of memory device 100, and the mode that is labeled of file and be embedded in discarded rank in the file system and depend on maybe and can be suitable for employed file system.
Fig. 6 is the method at the unsolicited file of file system mark of FAT 32 structures of being used for according to an example embodiment.The file system of FAT 32 structures is used bunch.As above described in conjunction with the file system of FAT 32 structures, the quantity that is used to identify the position of 32 bunches of FAT is 32.Fig. 6 will describe explicitly with Fig. 1.
In step 610,32 m the most significant digit (wherein m≤4) of each bunch of FAT 32 is assigned with or is exclusively used in is that can not discard or discardable with file mark as the case may be, and is used to each can discard the discarded rank that file is preserved correspondence.Undertaken by the m position corresponding to the distribution of tab file is provided with respective value to the discarded rank of file allocation.
In step 620, the user of memory allocator 144 assessment memory devices 100 will use the possibility rank of this unsolicited file.Use the assessment of the possibility of this document to realize with the variety of way known to the skilled in consignment file field.For example, the assessment of the possibility of use this document can be used the people's of memory device position based on supervision, and/or the user's who monitors previous experience and preference.Use the assessment of the possibility of this document can also be based on for example in the type (for example, " ad content ", " rewarding content ", " promoting (freely) content " etc.) of FAT table or NTFS table content stored.Memory allocator 144 can use replacement or additional standard to assess the possibility that will use this document.For example, it can use the attribute or the feature of one or more files, and described attribute or characteristic can be or be associated with one or more files, file size, file type of nearest visit etc.
After memory allocator 144 assesses user will be used the rank of possibility of unsolicited file, memory allocator 144 distributed the corresponding discarded priority level of possibility rank with the assessment of the use of unsolicited file in step 630.User by memory device 100 uses the possibility of unsolicited file big more, and discarded rank is low more.
If m equals four, this means discarded scope provide from 1 (promptly 0001) to 15 15 discarded ranks of (promptly 1111).That is to say, will can not discard the discarded rank 0 of file allocation to each, to the discarded rank 1 of the discarded file allocation with minimum discarded priority, and to having the discarded rank 15 of discarded file allocation of high discarded priority.At memory allocator 144 after the discarded rank of unsolicited file allocation correspondence, memory allocator 144 in step 640 to be associated with unsolicited file bunch four most significant digits be distributed in respective value between 1 and 15.If unsolicited file has two or more bunches that are associated with it, four most significant digits in each bunch are set to identical value.
In step 650, check whether unsolicited file is to need evaluated nearest file.If unsolicited file is not to need evaluated nearest file (being " N " shown in the step 650), assess another file in the above described manner.If unsolicited file is to need evaluated nearest file (being " Y " shown in the standard 650), unsolicited one or more files are sent to memory device, and have the m position of the value of being provided with in step 640 for each this document.
Fig. 7 is the example directories table 700 related with FAT 32 epiphases.Catalogue listing 700 only is to be used for illustrated part table, and so, all fields of the not shown FAT catalogue entry of table 700.Directory area 700 is kept at the details of the file of storing in the related file system, such as file name, file size and each file where beginning in associated memory space.The details of file is stored in the following field.Field 710 is kept at disk operating system (" the DOS ") filename of the file of storing in the related file system, the extension name that field 720 is preserved file, field 730 is preserved the various attributes of file, field 740 is preserved high 16 words of the first bunch number (" FCN ") of file, the lower part that the first bunch number (" FCN ") of file deposited in field 750 maintenances, and the size of field 760 preservation files.Each FCN number the indication file can be found first Logic Cluster.
The first entry of directory area 700 is preserved the information (illustrating at 770 places) of the example file that is used to be called " REALFILE ".REALFILE 770 has file extension " DAT ", and its FCN is that " 00000002 " (illustrating at 755 places) and its size are " 000024E4 ".Numeral in table 700 illustrates with hexadecimal value.As the part of standard, property value " 00 " (illustrating at 780 places) and " 20 " (not shown in Figure 7) refer to " routine " file, and property value " 02 " refers to the file of hiding in file system.The file of filename " xE5Consign " indication deletion, and " xE5 " means that the value of first byte of filename is E5 in sexadecimal.By example, first bunch of FCN number 0,000 0002 (illustrating) specified file REALFILE at 755 places.
Fig. 8 is the example part according to FAT 32 tables 800 of example embodiment.FAT32 table 800 is shown as double word (" DWORD ") array, and value is hexadecimal value.The type that the device of FAT32 table 800 is preserved in reference number 810 indications, 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 bunch #23 (illustrating at 830 places) 23 bunches.Fig. 8 will describe explicitly with Fig. 7.In the FAT32 table 800 bunch can be first bunch of file, or its can point to file next link bunch, or it can be the end of file (" EOF ") indication.
Refer again to directory area 700, the FCN of REALFILE (illustrating at 770 places) is " 00000002 " (illustrating at 755 places), bunch #2 in the table 800 of its sensing Fig. 8.As shown in Figure 8, the value of bunch #2 (that is, value " 000 0003 ") is pointed to bunch #3 (illustrating at 840 places), its be next file bunch.Similarly, the value of bunch #3 (i.e. " 0,000 0004 ") is pointed to bunch #4, its be next file bunch.Bunch #4 has value " 0FFF FFFF " (" F " is the hexadecimal digit of expression decimal value " 15 "), the EOF indication of wherein " FFFFFFF " (illustrating at 850 places) expression file, and the discarded rank 0 of null value (illustrating at 860 places) expression.Therefore, file REALFILE has three bunches (that is, bunch #2, bunch #3 and bunch #4) that are associated with it
As mentioned above, discarded rank 0 is assigned to and can not discards file.Notice that the highest effective hexadecimal digit of each bunch of concrete file has been set up the identical discarded priority level of distributing to this document.For example, file REALFILE has been assigned with discarded rank " 0 ", and therefore, bunch #2, the highest effective hexadecimal digit of #3 and #4 has this value (that is, be worth " 0 ", " 0 " value has been added underscore).According to another example, its FCN is that file " 0,000 0005 " " E5Consign " (as shown in Figure 7) has been assigned with discarded priority level " 1 ".Therefore, each the highest effective hexadecimal digit that belongs to bunch #5 to 12 of this document has value " 1 " (for example illustrating at 870 places).In other words, according to the disclosure, the highest effective hexadecimal digit (or, be equal to ground, with can discard specifically that file is associated bunch four highest significant positions) be set to the identical value corresponding with the discarded priority level that is assigned to this concrete file.As mentioned above, be used to indicate the quantity m of the most significant digit of discarding priority level can be different from four (that is m≤4).
Fig. 9 is the example according to the NTFS table 900 of example embodiment.NTFS table 900 is preserved the details of file, such as file name, file size etc.NTFS table 900 comprises to be preserved according to " normal " file that data stream changes " routine " data field 910 of data (for example data 920).According to the disclosure, NTFS table 900 comprises that also " discarded information " field 915 is used to preserve the discarded information (for example, discarded information 930) of the file of each assessment.Discarded information field 915 can also comprise the information except discarded priority level.For example, discarded information field 915 can comprise the expired time that the information that belongs to the server of supplying this document and file must go out of use.Unlike file system, in file system, be assigned to the discarded value that to discard file and be not limited to maximal value by one group of position regulation based on NTFS based on FAT.The scope that this means discarded value can freely be selected.For example, the scope of discarded value can from 1 to 25.NTFS is the non-FAT file system of example.Usually, corresponding discarded value can be set at data field based in the file system clauses and subclauses of non-FAT corresponding to the file of mark.
Figure 10 is the logic arrangement according to the file system 1000 of the memory device of example embodiment.Memory allocator (for example, the memory allocator 144 of Fig. 1) can be preserved the file system 1000 of memory device of its operation or the reflection of file system 1000, and perhaps memory allocator can have the visit to file system 1000.
File system 1000 comprises leader 1010, the FAT 1020 that is associated with file system 1000, catalogue listing 1030, file area 1040 and can discard file area 1050.FAT 1020 comprises the discarded file allocation zone 1025 that comprises the discarded priority level that can discard file.Catalogue listing 1030 comprises the visit information that is used for visiting any file of storing at memory device (that is, can discard file and/or can not discard file).File area 1040 comprises can not discard file.Index and database area 1045 preserved the index that can discard file, and with can discard the metadata that file is associated.The index and the metadata of preserving in index and database area 1045 are used to calculate discarded rank, but do not need them in the waste treatment of reality.File area 1050 preservations can be discarded and file can be discarded.
Figure 11 has demonstrated according to file management method of the present disclosure.Figure 11 will describe explicitly with Fig. 1.Suppose that (that is, file " F1 " and " F2 ") initially is stored in the storage area 110 at 0, two user file of time T.Because file " F1 " and " F2 " are user files, so they are stored in the user area 170, and are zero by the discarded rank that memory allocator 144 distributes to their.Because the total memory capacity of storage area 110 is T (illustrating at 1110 places), and file F1 and F2 be stored in the memory device 100, and the big or small (see figure 1) of residue idle storage space 190 is f (illustrating at 1120 places).Suppose that the publisher wants three unsolicited files of storage in storage area 110.As mentioned above, memory allocator 14 is evaluated at the size f of 1120 places (or) of the idle storage space 190 in the memory device 100 so that nargin safe in utilization (illustrating at 1130 places) is not stored in the expectation that three unsolicited files determining storage publisher in storage area 110 whether can constriction be reserved for following user file.If three unsolicited files of storage publisher are stored nargin 1130 safe in utilization (that is, the storage of expectation nargin safe in utilization) with constriction, memory allocator 144 will avoid storing these files.
In this example, memory allocator 144 determines that three unsolicited files of publishers can be stored in the storage area 110 and do not reduce storage nargin 1130 safe in utilization.Therefore, in time T 1, memory allocator 144 allows memory controller 120 to store three unsolicited files of publisher in storage area 110.These three publishers' unsolicited file is designated as " P1 ", " P2 " and " P3 ".Memory allocator 144 is also determined file P1, and P2 and P3 will be stored the probability of user's use of device 100, and the corresponding discarded rank of each distribution in these files.Then, memory allocator 144 is at FAT table (as demonstrating in Fig. 8), or in the NTFS table (as demonstrating in Fig. 9), storage is assigned to the discarded rank of file.
In time T 2, the user of memory device 100 wants two other file of storage in storage area 110 (that is, file " F3 " and " F4 ").Whether the reappraise size f of 1120 places (or) of the idle storage space 190 in memory device of memory allocator 144 is so that determine to exist in storage area 110 enough storage spaces to store these other files (that is, file F3 and F4).In this example, memory allocator 144 definite current idle storage space can be held file F3 and F4.Therefore, in time T 2, memory allocator 144 allows memory controller 120 storage file F3 and F4 in storage area 110.
Because file F3 and F4 are user files, therefore will to be stored the probability that the user of device 100 uses be incoherent for file F3 and F4, because user file has the memory priority level higher than publisher file, and no matter the user will use file F3 and F4 how many times, if you are using.Therefore, memory allocator 144 distributes discarded rank " 0 " to file F3 and F4, and in FAT table (as in Fig. 8, demonstrating) or (as demonstrating in Fig. 9) storage is assigned with in the NTFS table discarded rank
In time T 3, the user of memory device 100 wants storage another file (that is file " F5 ") in storage area 110.Whether memory allocator 144 is evaluated at the size f of 1120 places (or) of the idle storage space 190 in the memory device 100 once more, so that determine to exist in storage area 110 enough storage spaces to store this another file (that is file F5).
In this example, memory allocator 144 definite current idle storage space can be held file F5.Therefore, in time T 3, memory allocator 144 allows memory controller 120 storage file F5 in storage area 110.As shown in figure 11, storage user file F5 constriction storage nargin safe in utilization.That is to say, file F1 is stored in the storage area 110 to F5 and P1 to P3 after in storage area 110 remaining idle storage space f less than storage nargin 1130 safe in utilization.Therefore, one of memory allocator 144 file (that is, P1, P2, and P3) by removing the publisher restores (reinstate) or recovers storage nargin safe in utilization, because user file has the highest memory priority level as mentioned above.
As mentioned above, distribute to the discarded priority level of the file discarded of each storage based on memory allocator 144, make the decision that remove which publisher's file or which publisher's file from storage area 110 by memory allocator 144.
Turn back to Figure 11, suppose the storage publisher's file P1 between the P3, publisher's file P3 has been assigned with the highest discarded priority level (for example, 13).Therefore,, remove file P3, therefore enlarged idle storage space 190 from storage area 110 in time T 4.Because the size of the idle storage space when time T 4 190 (f at 1120 places) greater than storage nargin 1130 safe in utilization, therefore no longer needs to remove publisher's file.
The user of memory device 100 may want to remove one or more user files.In time T 5, the user has removed two (that is, file F4 and F5) of his file, has therefore further enlarged idle storage space 190.File F4 and F5 remove with idle storage space 190 or to store the size of nargin safe in utilization irrelevant, because, regain idle storage space or recover storage nargin safe in utilization by the file discarded that removes needed quantity as in this statement.Suppose that the publisher wants another unsolicited file of storage in storage area 110.As mentioned above, the size (f) of memory allocator 144 assessment idle storage space 190 at 1120 places in case the unsolicited file of determining storage publisher in storage area 110 whether not constriction store nargin 1130 safe in utilization.If storage publisher's new unsolicited file is stored nargin 1130 safe in utilization with constriction, then memory allocator 144 will avoid storing this document.
In this example, memory allocator 144 determines that publisher's new unsolicited file (that is, file " P4 ") can be stored in the storage area 110, and does not reduce storage nargin 1130 safe in utilization.Therefore, in time T 6, memory allocator 144 allows memory controller 120 to store publisher's file P4 in storage area 110.Memory allocator 144 determines that also file P4 will be stored the probability of user's use of device 100, and distributes corresponding discarded rank to this document.Then, memory allocator 144 FAT table (as in Fig. 8, demonstrating) or in the NTFS table (as in Fig. 9, demonstrating) storage be assigned to the discarded rank of file P4.The processing that the storage New Development is done business file and new user file and removed the file of being stored can be worked as at every turn and continued when memory device 110 adds new file, the current size of memory allocator 144 assessment idle storage space 190, and determine and must remove which publisher's file or which publisher's file (if removing) from storage area 110.
Can be to discarding the discarded rank of file allocation based on user experience or preference, based on user's GPS (" GPS ") position and/or based on other standards.For example, if the user of memory device likes certain type music as (based on previous user experience), if then publisher's file comprises the music of one of favorite music type of user, memory allocator can distribute low relatively discarded priority level (for example, in 1 to 15 numerical range 3) to this document.But if the user dislikes publisher's music (that is, based on previous user experience), memory allocator can be to the higher discarded priority level of relevant publisher's file allocation (for example, in 1 to 15 numerical range 12).Be used for size, file to the type that can discard expected revenue that other standard of the discarded level of file allocation can comprise that the expection of file uses, is associated with the use file, file, file in the position of memory device, the term of life of file and in other standards or the parameter of this appointment.Other standards can be used similarly, and can use one or more standards discard grade other distribution no matter separately or in conjunction with arbitrary standards described here.In addition, can use various criterion to come to discard the discarded rank of file allocation to difference.
In another example, if the publisher want to the user send depend on the position advertisement (promptly, about the product that presents in the ad-hoc location or the advertisement of service), then memory allocator can be to the position of publisher's advertisement basic of distribution user's change and the discarded priority level that changes.That is to say that the user is far away more from ad-hoc location, discarded rank will be high more, because by away from particular location, can suppose that the user loses interest in for being consumed in product or the service that specific location presents.
As mentioned above, bunch chain of file can be discarded in record in FAT, with indicating that the file identification that will be associated with the FAT32 clauses and subclauses is for can discard file.Usually, this sign is in four highest significant positions of each FAT32 clauses and subclauses.Because can being assigned to, bunch chain can discard file, but do not have and relevant with them can not discard file, therefore may can discard file such as the instrument of chkdsk or fsck.vfat and change into and can not discard file, be also referred to as " truly " file, reduce the security of file system 160 thus.In addition, have risk: some FAT recover the sign that instrument will reset at the file discarded in the FAT32 clauses and subclauses.The common single-step debug of FAT32 file system check and fix tool (step through) file system, and apply rule so that repair frequent fault.Usually, these instruments can be searched bunch chain that does not have corresponding clauses and subclauses in the first bunch number (FCN) row in catalogue listing in FAT.These instruments will be in FAT bunch distribution that does not have any catalogue or file entries as the data sementation that does not count (being called lonely bunch (orphan clusters)), and these instruments can be deleted these lonely bunch or set up the corresponding file clauses and subclauses in catalogue listing.Because the file system of discarding described here may utilize anything will be thought of as lonely bunch in addition, so the file discarded of these instrument possible errors changes into and can not discard file, or whole removing can be discarded file.
In order to address these problems, in some embodiments, memory allocator 144 can be associated with a bunch chain among the main FAT discarding file, wherein, this bunch chain is hidden the physical location that can discard file, and memory allocator 144 is stored the physical location of this document in can discarding FAT, database or one or more position paper.Usually, it is invisible concerning main FAT to discard FAT, database or one or more position paper, and in some embodiments, with can discard FAT, database or one or more position paper associated attributes and can be activated, visit this and can discard FAT, database or one or more position paper to prevent host operating system.
As previously mentioned, each clauses and subclauses among the FAT32 are 32, but only use lower 28.Usually, Gao Siwei is reserved and is set to zero.(the compatible embodiment that needs FAT32 is high four to ignore when being set at bunch the going up of distribution for high four, and when write new FAT clauses and subclauses, be provided with high four be zero).Distinguish with the sign in the Gao Siwei of the FAT clauses and subclauses of each bunch chain associated with the file and can discard file and can not discard file.Standard FAT32 driver can be discarded the space that file is regarded distribution as, and not write on them.But memory allocator 144 can periodically operate, such as with reference to figure 5 described those distribute so that in memory device 110, keep free space, and can recover to be assigned to the space that can discard file.
By using main FAT and can discarding in FAT, database and the one or more position paper at least one, can expand main FAT.When being combined in file allocation table, the main FAT of expansion searches branch in the logic when using, so that if the Gao Siwei of FAT clauses and subclauses is non-zeros, the information of use in the discarded FAT, database or the one or more position paper that reflect the physical location that can discard file is to substitute the FAT clauses and subclauses in main FAT.Because information in can discarding FAT, database or one or more position paper covers the value in the FAT clauses and subclauses of main FAT, therefore will can not change such as the instrument of chkdsk and fsck.vfat and can discard file for can not discard file because these instruments will see can discard file bunch with can discard FAT, database or one or more position paper in catalogue or file entries be associated.And, it is the sign that can discard file that FAT recovers the indication file that instrument will can not reset among the FAT32, because such as the instrument of chkdsk and fsck.vfat will see with can discard that file is associated bunch with can discard FAT, database or one or more position paper in catalogue or file entries be associated, rather than see free space as.
When file system 160 is utilized main FAT 1200 and can be discarded FAT 1201 storages when being marked as the file that can discard file, memory allocator 144 upgrades main FAT 1200 shown in Figure 12 a and will be assigned to bunch chain 1202 that can discard file and be associated with this document.Usually, bunch chain 1202 can have the identical size of the file discarded that is associated with bunch chain 1202 or can discard file greater than this.In some embodiments, bunch chain 1202 marks can be discarded the physical location of file in main FAT.Usually, as above describe with reference to figure 7 and 8, each bunch in clauses and subclauses 1204 in bunch chain of beginning point to bunch chain 1202 next order bunch, up to the ending of the value indication bunch chain 1202 of the 1FFF FFFF shown in clauses and subclauses 1206.But in other embodiments, each bunch of bunch chain can have the value such as 1FFFFFFF, indication bunch be distribute separately bunch, rather than point to bunch chain next order bunch.
The corresponding clauses and subclauses 1208 that the first entry 1204 of bunch chain 1202 points in can discarding FAT 1201 are shown in Figure 12 b.Describe with reference to figure 7 and 8 as above, for each file, next order of each bunch sensing file in bunch chain 1202 during can discarding FAT 1201 bunch, indicate the EOF of file up to the value of the 1FFF FFFF shown in clauses and subclauses 1210.
Should be appreciated that a bunch of chain 1202 can be associated with more than one file.For example, shown in Figure 12 b, bunch chain 1202 comprises from a bunch #6 (element 1208) to a bunch #9 (element 1210) the first group bunch for first file 1212, and comprises from bunch #10 to bunch #11 the second group bunch for second file 1214.
In addition, should be appreciated that main FAT 1200 and corresponding discarded FAT 1201 can comprise more than one bunch of chain.For example, shown in Figure 12 a and 12b, main FAT can comprise bunch chain 1202 of bunch #6 to bunch #11, and can comprise the second bunch chain 1216 of bunch #20 to bunch #22.
In other embodiments, do not use main FAT 1200 and can discard FAT 1201, file system can use main FAT 1200 that one or more files and aforesaid bunch of chain and database or one or more separation point positions file are associated, replace to discard FAT, with the storage one or more physical locations of discarding file relevant with bunch chain.Database or position paper can be text or the binary files in the zone of can not discarding that is stored in file system.
Figure 13 is used to use main FAT and can discards the method that FAT comes the managed storage device.Figure 13 will describe explicitly with Fig. 1.In step 1310, main frame 140 is received in the request of storage file 142 in the memory device 100.In some embodiments, memory allocator 144 draws the request of storage file 142 in memory device 100 based on one or more write requests associated with the file.
In step 1320, memory allocator 144 is " discardable " or " can not discard " with file mark in the file system structure relevant with memory device 100 as mentioned above.In step 1320, also at mark this document on the meaning of the discarded priority level of file allocation.
In step 1330, when file is in the time of can discarding file, memory allocator 144 upgrades main FAT bunch chain that is assigned to this document is associated with this document.In step 1340, memory allocator 144 renewals can be discarded FAT and be reflected the physical location of this document in memory device 100.In step 1350, memory allocator 144 (by with the communicating by letter of memory controller 120) storage area 110 of managed storage device 100, or manage the file that is stored in the storage area 110 based on the file of mark and according to discarding FAT.The administrative class of storage area is similar to above described with reference to figure 5.
Figure 14 is used to use FAT and database to come the process flow diagram of the method for managed storage device.Figure 14 will describe relatively with Fig. 1.In step 1410, main frame 140 is received in the request of storage file 142 in the memory device 100.In step 1420, memory allocator 144 as mentioned above with file system structure that above-mentioned memory device 100 is associated in this document is labeled as " discardable " or " can not discard ".In step 1420, also at mark this document on the meaning of the discarded priority level of file allocation.
In step 1430, when file is in the time of can discarding file, memory allocator 144 upgrades FAT bunch chain that is assigned to this document is associated with this document.In step 1440, memory allocator 144 more new database reflects the physical location of this document in memory device 100.In step 1450, memory allocator 144 (by with the communicating by letter of memory controller 120) storage area 110 of managed storage device 100, or manage the file that is stored in the storage area 110 based on FAT and database.
Figure 15 is used to use FAT and position paper to come the process flow diagram of the method for managed storage device.Figure 15 will describe relatively with Fig. 1.In step 1510, main frame 140 is received in the request of storage file 142 in the memory device 100.In step 1520, memory allocator 144 is labeled as this document " discardable " or " can not discard " as mentioned above in the file system structure relevant with above-mentioned memory device 100.In step 1520, also at mark this document on the meaning of the discarded priority level of file allocation.
In step 1530, when file is in the time of can discarding file, memory allocator 144 upgrades FAT bunch chain that is assigned to this document is associated with this document.In step 1540, memory allocator 144 upgrades position paper and reflects the physical location of this document in memory device 100.In step 1550, memory allocator 144 (by with the communicating by letter of memory controller 120) storage area 110 of managed storage device 100, or manage the file that is stored in the storage area 110 based on FAT and position paper.
In other embodiments, in order to strengthen safety, and destroyed or infringement by file system integration tool such as dosfsck (being also referred to as fsck.vfat) or chkdsk in order to prevent file system, memory allocator 144 does not distribute bunch can discarding in the file area sequentially to bunch chain, with guarantee can not be under the situation that does not read discarded FAT, database or one or more position papers that storage can discard the physical location of file reconstruct bunch chain.In addition, in FAT, generate one or more bunch scope files of upsetting that are associated with bunch chain, thereby will can not change such as the instrument of dosfsck and can discard file, or the indication file that resets in the high position of file is discardable sign for can not discard file.In some embodiments, can enable such as hide, the attribute relevant of system, catalogue or Volume Properties with the scope file, prevent that host operating system from visiting these scope files.
Figure 16 is the figure that illustrates the FAT that comprises bunch chain, wherein, forms two or more bunches order of this bunch chain and is upset.As shown in figure 16, form the bunch discontinuous of bunch chain begin at clauses and subclauses 1602 places.For example, the order of bunch chain that begins at clauses and subclauses 1602 places is a bunch #13, bunch #9, bunch #7, bunch #18 and bunch #21.In FAT, the value of each bunch is pointed to the following cluster in bunch chain, describes about Fig. 7 and 8 as above.
Except upset form bunch chain be associated with one or more files bunch order, can in FAT, set up one or more scope files of one or more bunches that comprise bunch chain associated with the file.In some embodiments, each scope file can be illustrated in as the part of bunch chain bunch scope in all bunches.Since the scope file and form bunch chain bunch between association, therefore will can not change such as the instrument of chkdsk or fsck.vfat and can discard file, and the indication file that FAT recovery instrument will can not reset in the FAT32 clauses and subclauses is the sign that can discard file for to discard file.
Figure 17 is the figure that is shown in one or more scope files of setting up among the FAT, and each in the described scope file has been stored at least one bunch of bunch chain that begins at clauses and subclauses 1602 places.For example, the storage of the first scope file 1604 comes bunch #7 and bunch #9 of bunch chain that comfortable clauses and subclauses 1602 places begin, and bunch #13, bunch #18 and bunch #21 of bunch chain that begins of the second scope file, 1606 storage comfortable clauses and subclauses 1602 places.
The scope file can store from more than a bunch of chain bunch.For example, except listed above come bunch chain that comfortable clauses and subclauses 1602 places begin bunch, the first scope file 1604 can store bunch #5 and bunch #10 of bunch chain that comfortable clauses and subclauses 1608 places begin.Similarly, except listed above come bunch chain that comfortable clauses and subclauses 1602 places begin bunch, the second scope file 1606 can store bunch #16, bunch #17 and bunch #22 of bunch chain that comfortable clauses and subclauses 1608 places begin.
Figure 18 is the method that is used to use FAT managed storage device, wherein, forms the order of two or more bunches of bunch chain and is upset.Figure 18 will describe explicitly with Fig. 1.In step 1810, main frame 140 is received in the request of storage file 142 in the memory device 100.In step 1820, memory allocator 144 as mentioned above with file system structure that memory device 100 is associated in be " discardable " or " can not discard " with file mark.In step 1820, also at mark this document on the meaning of the discarded priority level of file allocation.
In step 1830, when file is in the time of can discarding file, memory allocator 144 upgrades FAT bunch chain that is assigned to this document is associated with this document.In step 1840, in FAT, upset two or more bunches order of bunch chain associated with the file based on following factors: such as between two orders of total size of the amount of the storer in the memory device 100, bunch chain, bunch chain bunch bunch quantity and/or can consider the physical block address of each logical address in the piece of erase block sizes, distribution and/or the flash memory management algorithm of each suitable loss balancing data of being associated with physical block address.In some embodiments, use each bunch that the Pseudo-random number generator of the side-play amount in the scope or two or more bunches the order that the entropy random number generator is upset bunch chain are provided for before not being assigned with.In some embodiments, use consideration to upset two or more bunches order of bunch chain from the one-way Hash function (one-way hash function) of the uncertain value of host computer system 140 and/or memory device 100.
In step 1850, in FAT, set up the first scope file, it comprises at least one bunch of bunch chain that is associated with first file.In step 1860, memory allocator 144 (by with the communicating by letter of memory allocator 120) storage area 110 of managed storage device 100, or manage the file of storage in storage area 110 based on FAT and scope file.
In other embodiments, file system can realize conversion lock, guarantees that in the time can discarding File Open this can discard file and not be converted into and can not discard file.For example to memory device 100 download can discard file during or with can discard the time period of data before the public delivers that file is associated during (such as when be associated with the date issued that film, song or the program that can discard file be associated before when memory device 100 downloads can be discarded file), can discard file and can open.Usually, the conversion latching operation is provided with when lock conversion with box lunch and can discards file and can not be converted into and can not discard file.
Figure 19 is used for using the conversion lock to prevent when discarding the file method that conversion can be discarded file when realizing that main FAT is opened with the file system that can discard FAT.Figure 19 will describe explicitly with Fig. 1.In step 1910, memory allocator 144 receives can discard the request of file conversion for discarding file.In step 1920, memory allocator 144 sign with can discard the value that identifier is locked in conversion that file is associated.In step 1930, memory allocator 144 determines whether and can will can discard file conversion for can not discard file based on the value of conversion lock identifier.Usually, memory allocator 144 can be discarded when the value indication of conversion lock identifier and will determine to discard file when file is opened and can not be converted, and memory allocator 144 is indicated to discard when conversion lock identifier and will be determined to discard file when file is not opened and can be converted.
Can not be converted into and can not discard file if memory allocator 144 determines to discard file in step 1930, then memory allocator 144 forbids discarding file mark for discarding in step 1940.But, can be converted into and can not discard file if memory allocator 144 determines to discard file in step 1930, memory allocator 144 step 1950 continue with file system structure that memory device 100 is associated in file mark for can not discard file; Upgrade the physical location that main FAT reflects file in step 1960; And upgrade in step 1970 and can discard the physical location that FAT removes file.
To understand,, realize similar approach with the conversion lock when use database or position paper when replacing the aforesaid FAT of discarding with main FAT.
In some embodiments, can allow to use and carry out such as discarding file conversion for discarding file or checking the operation of the value of conversion lock identifier based on the identifier that is associated with application.Usually, set up or download can discard file application can with user identifier (ID) with can discard file and be associated.User ID can be that the sign establishment can be discarded the application of file or owner's user ID of user.In some embodiments, owner's user ID is 4 byte values.
File system 160 provides what further user ID of being associated with other users or application of definition to visit can to discard file and further user ID can take the ability of what action at discarding file to owner's user ID.To understand, and depend on the use that can discard file, further user ID can be associated with single application or unique user, and perhaps further user ID can be the sharing users ID that is associated with a plurality of application or a plurality of user.
In some embodiments, owner's user ID can allow the application access relevant with further user ID and can discard the preview data that file is associated.Preview data can be the part that can discard file, and wherein, in other embodiments, preview data is different from but is associated with can discard file.In some example embodiment, can discard file can be film, and preview data can comprise the movie trailer relevant with film; Can discard file can be TV programme, and preview data can comprise the part of TV programme; Can discard file can be music data, and preview data can comprise the part of music data; Maybe can discard file can be software program, and preview data can comprise the crippled version of software program.In other example embodiment, can utilize preview data so as with can discard the date issued that file is associated before, can discard file can not be accessed, but can visit and can discard the preview data that file is associated, and after date issued, can visit and to discard file and preview data.In another example, owner's user ID can allow the application that is associated with further user ID based on can discard the user ID that file is associated and write to discarding file.
In some embodiments, file system can be sheltered for owner's user ID provides permission bits, and what operation defines the application that is associated with further user ID can carry out at discarding file.The example that the typical case uses the permission bits of sight to shelter is shown in Figure 20.But, should be appreciated that owner's user ID can cover permission shown in Figure 20, and distribute any permission to further user ID.
With reference to permission shown in Figure 20, being provided with characteristic writes the application of permission bits (properties write permission bit) 2002 and can revise attribute, such as enabling or forbid the conversion lock, timestamp is set or writes consumption intention universal resource indicator (" URI "), and be provided with characteristic and read the application of permission bits 2004 and can read attribute, such as conversion lock, timestamp or consumption intention URI.The application that is provided with priority permission bits 2006 can be revised the priority level that can discard file.Be provided with preview and read the application of permission bits 2008 and can read and can discard the preview data that file is associated, and be provided with preview and write the application of permission bits 2010 and can write and can discard the preview data that file is associated.Be provided with the application of reading permission bits 2012 and can read to discard file, and be provided with the application of writing permission bits 2014 and can write to discarding file.Usually, only be associated with the application that the owner's user ID that can discard file is associated and will have these permissions.The application that is provided with conversion permission bits 2016 can will can be discarded file conversion for can not discard file.
Note, disclosed herein in related file system tab file and distribute discarded other method of level can have many useful applications to their, one of them is to recover storage nargin safe in utilization to guarantee that enough storage spaces are used for user file.For example, the discarded rank that is assigned to file can be used to document cluster is remapped to the flash memory module of less execution, or removes this bunch when request.
Article " one (a/an) " is used herein to one of indication or more than the grammer main body of (that is, an at least one) article, this depends on context.For example, depend on context, " element " can mean an element or more than an element.Term " comprises " being used herein to and means that phrase " includes but not limited to " and use interchangeably with this phrase.Term " or " and " and " be used herein to mean term " and/or " and with " and/or " use interchangeably, unless other clearly indicated in context.Term " such as " be used herein to mean phrase " such as, but not limited to ", and use interchangeably with this phrase.
Described the embodiment of example of the present invention, those skilled in the art will understand that the modification of embodiment of the present disclosure will be within the scope of the invention.Therefore, the embodiment of replacement can comprise more multimode, identical module on module and/or the function still less.The disclosure relates to various types of mass storage device, flash card, flush memory device, non flash memory device spare, " key floppy disc (Disk-on-Key) " device such as the SD driving that has been provided USB (universal serial bus) (" USB ") interface, USB flash memory drives (" UFDs "), multimedia card (" MMC "), secure digital (" SD "), miniSD and microSD etc.Therefore, the scope of following claim be can't help in this open restriction.

Claims (94)

1. method that is used for the managed storage device, this method comprises:
Memory device operation in the main frame that is couple to:
Be received in the request of storing first file in the storage area of memory device, wherein said memory device comprises master file allocation table (" FAT ") and other discarded FAT;
With first file mark is discardable, with file system structure that memory device is associated in carry out the mark of this first file;
Make memory device upgrade main FAT, bunch chain that is assigned to first file is associated with first file;
Make memory device upgrade and to discard FAT, to reflect the physical location of first file in memory device; And
According to discarding the storage area that FAT comes the managed storage device.
2. according to the process of claim 1 wherein, described bunch of chain sheltered the physical location of first file at least.
3. according to the method for claim 1, also comprise:
Enable and the first file associated attributes, visit this first file to prevent host operating system.
4. according to the method for claim 1, also comprise:
Be received in the request of storing second file in the storage area of memory device,
With second file mark is discardable, with file system structure that memory device is associated in carry out the mark of this second file;
Make memory device upgrade main FAT, so that bunch chain is associated with second file, wherein, this bunch chain is associated with first file and second file; And
Make memory device upgrade and to discard FAT, to reflect the physical location of second file.
5. according to the method for claim 4, wherein, described bunch of chain sheltered the physical location of first file and second file.
6. according to the method for claim 1, also comprise:
Be received in the request of storing second file in the storage area of memory device,
With second file mark is discardable, with file system structure that memory device is associated in carry out the mark of this second file;
Make memory device upgrade main FAT, be associated with second file with second bunch of chain that will be assigned to second file; And
Make memory device upgrade and to discard FAT, to reflect the physical location of second file.
7. according to the method for claim 1, also comprise:
With first file mark for can not discarding, with file system structure that memory device is associated in carry out the mark of this first file;
Make memory device upgrade main FAT, to reflect the physical location of first file; And
Make memory device upgrade and to discard FAT, to remove the physical location of first file.
8. according to the method for claim 7, also comprise:
The value that identifier is locked in the conversion that is associated with first file of sign is so that determine whether can be with first file from discarding file conversion for can not discard file;
Wherein, the value that identifier is locked in the conversion of determining to be associated with first file indicate first file not locked after, described first file is marked as can not discard file.
9. according to the method for claim 1, also comprise:
The value that identifier is locked in the conversion that is associated with first file of sign is so that determine whether can be with first file from discarding file conversion for can not discard file; And
The value of the conversion lock of determining to be associated with first file indicate first file locked after, forbid that with described first file mark be what can not discard.
10. according to the method for claim 1, also comprise:
File permission that sign is associated with user ID and the preview file that is associated with first file; And
Permit the visit of managing the preview file that is associated with first file based on the file that is identified.
11. according to the method for claim 10, wherein, described user ID is the user ID of sharing.
12. according to the process of claim 1 wherein, bunch chain of described main FAT points to the position that can discard among the FAT.
13., be discardable comprising: to the discarded priority level of this first file allocation with described first file mark according to the process of claim 1 wherein.
14., wherein, comprise in following at least one to the discarded priority level of first file allocation according to the method for claim 13:
To corresponding value is set corresponding to m highest significant position in the main FAT clauses and subclauses of first file; Perhaps
To respective value being set corresponding to the data field in the file system clauses and subclauses of first file.
15., wherein, discard priority level to first file allocation according to following each according to the method for claim 13:
The expection of first file is used;
With the expected revenue of using this document to be associated;
The file type of first file;
The size of first file;
The position of first file in memory device; And
The term of life of first file.
16. according to the process of claim 1 wherein, comprise any or their combination in following according to discarding storage area that FAT comes the managed storage device:
Be marked as discardable one or more file and recover to store nargin safe in utilization by optionally removing;
Be marked as discardable All Files and discharge storage area by removing; And
The memory module that bunch is remapped to lower-performance with first file.
17. a method that is used for the managed storage device, this method comprises:
In the memory device that functionally is couple to main frame:
Be received in the request of storing first file in the storage area of memory device, wherein said memory device comprises master file allocation table (" FAT ") and other discarded FAT;
With first file mark is discardable, with file system structure that memory device is associated in carry out the mark of this first file;
Upgrade main FAT, be associated with first file with bunch chain that will be assigned to first file;
Renewal can be discarded FAT, to reflect the physical location of first file in memory device; And
According to discarding the storage area that FAT comes the managed storage device.
18. according to the method for claim 17, wherein, described bunch of chain sheltered the physical location of first file at least.
19. the method according to claim 17 also comprises:
Enable and the first file associated attributes, visit this first file to prevent host operating system.
20. the method according to claim 17 also comprises:
Be received in the request of storing second file in the storage area of memory device,
With second file mark is discardable, with file system structure that memory device is associated in carry out the mark of this second file;
Upgrade main FAT, so that bunch chain is associated with second file, wherein, this bunch chain is associated with first file and second file; And
Upgrade this and can discard FAT, to reflect the physical location of second file.
21. according to the method for claim 20, wherein, described bunch of chain sheltered the physical location of first file and second file.
22. the method according to claim 17 also comprises:
Be received in the request of storing second file in the storage area of memory device,
With second file mark is discardable, with file system structure that memory device is associated in carry out the mark of this second file;
Upgrade main FAT, be associated with second file with second bunch of chain that will be assigned to second file; And
Upgrade this and can discard FAT, to reflect the physical location of second file.
23. the method according to claim 17 also comprises:
First file mark is the file that can not discard, with file system structure that memory device is associated in carry out the mark of this first file;
Upgrade main FAT, to reflect the physical location of first file; And
Upgrade this and can discard FAT, to remove the physical location of first file.
24. the method according to claim 23 also comprises:
The value that identifier is locked in the conversion that is associated with first file of sign is so that determine whether can be with first file from discarding file conversion for can not discard file;
Wherein, the value that identifier is locked in the conversion of determining to be associated with first file indicate first file not locked after, described first file is marked as can not discard file.
25. the method according to claim 17 also comprises:
The value that identifier is locked in the conversion that is associated with first file of sign is so that determine whether can be with first file from discarding file conversion for can not discard file; And
The value of the conversion lock of determining to be associated with first file indicate first file locked after, forbid that with described first file mark be what can not discard.
26. the method according to claim 17 also comprises:
File permission that sign is associated with user ID and the preview file that is associated with first file; And
Permit the visit of managing the preview file that is associated with first file based on the file that is identified.
27. according to the method for claim 27, wherein, described user ID is the user ID of sharing.
28. according to the method for claim 17, wherein, bunch chain of described main FAT points in the position that can discard among the FAT.
29., wherein, be discardable comprising with described first file mark according to the method for claim 17:
To the discarded priority level of first file allocation.
30., wherein, comprise in following at least one to the discarded priority level of first file allocation according to the method for claim 29:
To respective value being set corresponding to m highest significant position in the main FAT clauses and subclauses of first file; Perhaps
To respective value being set corresponding to the data field in the file system clauses and subclauses of first file.
31., wherein, discard priority level to first file allocation according to following each according to the method for claim 29:
The expection of first file is used;
With the expected revenue of using this document to be associated;
The file type of first file;
The size of first file;
The position of first file in memory device; And
The term of life of first file.
32., wherein, comprise any or their combination in following according to discarding storage area that FAT comes the managed storage device according to the method for claim 17:
Be marked as discardable one or more file and recover to store nargin safe in utilization by optionally removing;
Be marked as discardable All Files and discharge storage area by removing; And
The memory module that bunch is remapped to lower-performance with first file.
33. a memory allocator that is used for the managed storage device comprises:
Communication interface is connected the main frame of memory device and memory device;
Storage unit is used to store the file system that is associated with memory device;
Processor is used to manage the file system that is associated with memory device; And
Wherein, described processor is configured to
Be received in the request of storing first file in the storage area of memory device, wherein said memory device comprises master file allocation table (" FAT ") and other discarded FAT;
With first file mark is discardable, with file system structure that memory device is associated in carry out the mark of this first file;
Make memory device upgrade main FAT, be associated with first file with bunch chain that will be assigned to first file;
Make memory device upgrade and to discard FAT, to reflect the physical location of first file in memory device; And
According to discarding the storage area that FAT comes the managed storage device.
34. according to the memory allocator of claim 33, wherein, described bunch of chain sheltered the physical location of first file.
35. according to the memory allocator of claim 33, wherein, described processor further is configured to:
Be received in the request of storing second file in the storage area of memory device,
With second file mark is discardable, with file system structure that memory device is associated in carry out the mark of this second file;
Make memory device upgrade main FAT, so that bunch chain is associated with second file, wherein, this bunch chain is associated with first file and second file; And
Make memory device upgrade the 2nd FAT, to reflect the physical location of second file;
Wherein, can discard the physical location that bunch chain is sheltered first file and second file.
36. according to the memory allocator of claim 33, wherein, described processor further is configured to:
Be received in the request of storing second file in the storage area of memory device,
With second file mark is discardable, with file system structure that memory device is associated in carry out the mark of this second file;
Make memory device upgrade main FAT, be associated with second file with second bunch of chain that will be assigned to second file; And
Make memory device upgrade and to discard FAT, to reflect the physical location of second file.
37. according to the memory allocator of claim 33, wherein, described processor further is configured to:
With first file mark for can not discarding, with file system structure that memory device is associated in carry out the mark of this first file;
Make memory device upgrade main FAT, to reflect the physical location of first file; And
Make memory device upgrade and to discard FAT, to remove the physical location of first file.
38. according to the memory allocator of claim 37, wherein, described processor further is configured to:
The value that identifier is locked in the conversion that is associated with first file of sign is so that determine whether can be with first file from discarding file conversion for can not discard file; And
Wherein, the value that identifier is locked in the conversion of determining to be associated with first file indicate first file not locked after, described first file is marked as can not discard file.
39. according to the memory allocator of claim 33, wherein, described processor further is configured to:
The value that identifier is locked in the conversion that is associated with first file of sign is so that determine whether can be with first file from discarding file conversion for can not discard file; And
The value of the conversion lock identifier of determining to be associated with first file indicate first file locked after, forbid that with described first file mark be what can not discard.
40. according to the memory allocator of claim 33, wherein, described processor further is configured to:
File permission that sign is associated with user ID and the preview file that is associated with first file; And
Permit the visit of managing the preview file that is associated with first file based on the file that is identified.
41. according to the memory allocator of claim 33, wherein, bunch chain of a described FAT points to the position in the 2nd FAT.
42. a storage system comprises:
Communication interface; And
Memory allocator is used to manage the file system that is associated with memory device, and this memory allocator comprises and is used for managing the processor of one or more files in the storage of the storage area of memory device;
Wherein, described processor is configured to:
Be received in the request of storing first file in the storage area of memory device via communication interface, wherein said memory device comprises master file allocation table (" FAT ") and other discarded FAT;
With first file mark is discardable, with file system structure that memory device is associated in carry out the mark of this first file;
Make memory device upgrade main FAT, be associated with first file with bunch chain that will be assigned to first file;
Make memory device upgrade and to discard FAT, to reflect the physical location of first file in memory device; And
According to discarding the storage area that FAT comes the managed storage device.
43. according to the storage system of claim 42, wherein, described processor further is configured to:
With first file mark for can not discarding, with file system structure that memory device is associated in carry out the mark of this first file;
Make memory device upgrade main FAT, to reflect the physical location of first file; And
Make memory device upgrade and to discard FAT, to remove the physical location of first file.
44. according to the storage system of claim 43, wherein, described processor further is configured to:
The value that identifier is locked in the conversion that is associated with first file of sign is so that determine whether can be with first file from discarding file conversion for can not discard file;
Wherein, the value that identifier is locked in the conversion of determining to be associated with first file indicate first file not locked after, described first file is marked as can not discard file.
45. according to the storage system of claim 42, wherein, described processor further is configured to:
The value that identifier is locked in the conversion that is associated with first file of sign is so that determine whether can be with first file from discarding file conversion for can not discard file; And
The value that identifier is decided in the conversion of determining to be associated with first file indicate first file locked after, forbid that with described first file mark be what can not discard.
46. according to the storage system of claim 42, wherein, described processor further is configured to:
File permission that sign is associated with user ID and the preview file that is associated with first file; And
Permit the visit of managing the preview file that is associated with first file based on the file that is identified.
47. storage system according to claim 42, wherein, for the request of storage first file in the storage area that is received in memory device via communication interface, described processor is configured to ask to draw the request of storing first file based on one or more the writing that is associated with first file that receives via communication interface.
48. according to the storage system of claim 42, wherein, described memory allocator is embedded in the main frame.
49. according to the storage system of claim 42, wherein, described memory allocator is embedded in the memory device.
50. a method that is used for the managed storage device, this method comprises:
Memory device operation in the main frame that is couple to:
Be received in the request of storing first file in the storage area of memory device;
With first file mark is discardable, with file system structure that memory device is associated in carry out the mark of this first file;
Make and memory device updating file allocation table (" FAT ") be associated with first file with bunch chain that will be assigned to first file;
New database more is to reflect the physical location of first file in memory device; And
Come the storage area of managed storage device according to FAT and database.
51. a method that is used for the managed storage device, this method comprises:
In the memory device that functionally is couple to main frame:
Be received in the request of storing first file in the storage area of memory device;
With first file mark is discardable, with file system structure that memory device is associated in carry out the mark of this first file;
Updating file allocation table (" FFAT ") is associated with first file with bunch chain that will be assigned to first file;
New database more is to reflect the physical location of first file in memory device; And
Come the storage area of managed storage device according to FAT and database.
52. a method that is used for the managed storage device, this method comprises:
Memory device operation in the main frame that is couple to:
Be received in the request of storing first file in the storage area of memory device;
With first file mark is discardable, with file system structure that memory device is associated in carry out the mark of this first file;
Make and memory device updating file allocation table (" FAT ") be associated with first file with bunch chain that will be assigned to first file;
Upgrade position paper, to reflect the physical location of first file in memory device; And
Come the storage area of managed storage device according to FAT and position paper.
53. according to the method for claim 52, wherein, described position paper is a text.
54. according to the method for claim 52, wherein, described position paper is a binary file.
55. a method that is used for the managed storage device, this method comprises:
In being couple to the memory device of main frame:
Be received in the request of storing first file in the storage area of memory device;
With first file mark is discardable, with file system structure that memory device is associated in carry out the mark of this first file;
Updating file allocation table (" FAT ") is associated with first file with bunch chain that will be assigned to first file;
Upgrade position paper, to reflect the physical location of first file in memory device; And
Come the storage area of managed storage device according to FAT and position paper.
56. a method that is used for the managed storage device, this method comprises:
Memory device operation in the main frame that is couple to:
Be received in the request of storing first file in the storage area of memory device;
With first file mark is discardable, with file system structure that memory device is associated in carry out the mark of this first file;
Make and memory device updating file allocation table (" FAT ") be associated with first file with bunch chain that will be assigned to first file;
Two or more bunches order in FAT, upsetting bunch chain that is associated with first file;
Create the first scope file in FAT, this first scope file comprises at least one bunch of bunch chain that is associated with first file; And
Come the storage area of managed storage device according to FAT and the first scope file.
57. the method according to claim 56 also comprises:
Be received in the request of storing second file in the storage area of memory device,
With second file mark is discardable, with file system structure that memory device is associated in carry out the mark of this second file;
Make memory device upgrade FAT, so that bunch chain is associated with second file, wherein, this bunch chain is associated with first file and second file; And
Two or more bunches order in FAT, upsetting bunch chain that is associated with second file;
58. the method according to claim 57 also comprises:
In FAT, upgrade the first scope file, to comprise at least one bunch of bunch chain that is associated with second file.
59. the method according to claim 56 also comprises:
Be received in the request of storing second file in the storage area of memory device,
With second file mark is discardable, with file system structure that memory device is associated in carry out the mark of this second file;
Make memory device upgrade FAT, be associated with second file with second bunch of chain that will be assigned to second file;
Two or more bunches order in FAT, upsetting the second bunch of chain that is associated with second file;
Create the second scope file in FAT, this second scope file comprises at least one bunch of bunch chain that is associated with second file; And
Wherein come the storage area of managed storage device to comprise according to the FAT and the first scope file:
Come the storage area of managed storage device according to FAT, the first scope file and the second scope file.
60. the method according to claim 56 also comprises:
In FAT, create the second scope file, do not constitute at least one bunch of the first scope file in this bunch chain that second scope file comprises with first file is associated;
Wherein come the storage area of managed storage device to comprise according to the FAT and the first scope file:
Come the storage area of managed storage device according to FAT, the first scope file and the second scope file.
61. a method that is used for the managed storage device, this method comprises:
In being couple to the memory device of main frame:
Be received in the request of storing first file in the storage area of memory device;
With first file mark is discardable, with file system structure that memory device is associated in carry out the mark of this first file;
Updating file allocation table (" FAT ") is associated with first file with bunch chain that will be assigned to first file;
Two or more bunches order in FAT, upsetting bunch chain that is associated with first file;
Create the first scope file in FAT, this first scope file comprises at least one bunch of bunch chain that is associated with first file; And
Come the storage area of managed storage device according to FAT and the first scope file.
62. the method according to claim 61 also comprises:
Be received in the request of storing second file in the storage area of memory device,
With second file mark is discardable, with file system structure that memory device is associated in carry out the mark of this second file;
Upgrade FAT so that bunch chain is associated with second file, wherein, this bunch chain is associated with first file and second file; And
Two or more bunches order in FAT, upsetting bunch chain relevant with second file.
63. the method according to claim 61 also comprises:
In FAT, upgrade the first scope file, to comprise at least one bunch of bunch chain that is associated with second file.
64. the method according to claim 61 also comprises:
Be received in the request of storing second file in the storage area of memory device;
With second file mark is discardable, with file system structure that memory device is associated in carry out the mark of this second file;
Upgrading FAT is associated with second file with second bunch of chain that will be assigned to second file;
Two or more bunches order in FAT, upsetting the second bunch of chain that is associated with second file;
Create the second scope file in FAT, this second scope file comprises at least one bunch of bunch chain that is associated with second file; And
Wherein come the storage area of managed storage device to comprise according to the FAT and the first scope file:
Come the storage area of managed storage device according to FAT, the first scope file and the second scope file.
65. the method according to claim 61 also comprises:
In FAT, create the second scope file, do not constitute at least one bunch of the first scope file in this bunch chain that second scope file comprises with first file is associated;
Wherein come the storage area of managed storage device to comprise according to the FAT and the first scope file:
Come the storage area of managed storage device according to FAT, the first scope file and the second scope file.
66. one kind is used to manage and can discards the method for operating that file is associated, this method comprises:
Memory device operation in the main frame that is couple to:
Owner's user ID is associated with discarding file, wherein, can discard file comprise with file system structure that memory device is associated in be marked as discardable file;
Define and one group of permission can discarding the additional user ID that file is associated with should being used for of being associated with owner's user ID;
Receive execution and can discard the request of operating that file is associated from the application that is associated with additional user ID;
Determine based on this group permission whether the application that is associated with additional user ID can carry out this operation; And
Determine to manage and can discard the operation that file is associated based on this.
67. according to the method for claim 66, wherein, the application that is associated with owner's user ID is downloaded to memory device can discard file.
68. according to the method for claim 66, wherein said operation comprises:
Revise and can discard the file associated attributes.
69. according to the method for claim 68, wherein, described attribute comprises at least one in conversion lock identifier, timestamp, consumption intention universal resource indicator and the priority level.
70. according to the method for claim 66, wherein said operation comprises:
Read and can discard the file associated attributes.
71. according to the method for claim 70, wherein, described attribute comprises at least one in conversion lock identifier, timestamp, consumption intention universal resource indicator and the priority level.
72. according to the method for claim 66, wherein said operation comprises:
Read and to discard file.
73. according to the method for claim 66, wherein said operation comprises:
Write to discarding file.
74. according to the method for claim 66, wherein said operation comprises:
Read and can discard the preview data that file is associated.
75. according to the method for claim 74, wherein, the described file of discarding comprises preview data.
76. according to the method for claim 74, wherein, the described file of discarding is different from preview data.
77. according to the method for claim 66, wherein said operation comprises:
Write and can discard the preview data that file is associated.
78. according to the method for claim 66, wherein, described additional user ID is the sharing users ID that is associated with a plurality of users.
79. according to the method for claim 66, wherein, described additional user ID is the sharing users ID that is associated with a plurality of application.
80., wherein, determine to manage and can discard the operation that file is associated and comprise based on described according to the method for claim 66:
Forbid the application execution that is associated with additional user ID and can discard the operation that file is associated.
81., wherein, determine to manage and can discard the operation that file is associated and comprise based on described according to the method for claim 66:
Allow the application execution that is associated with additional user ID and can discard the operation that file is associated.
82. a storage system comprises:
Communication interface; And
Memory allocator is used to manage the file system that is associated with memory device, and this memory allocator comprises the processor that is used for managing the operation that is associated with the file of storing at memory device discarded;
Wherein, described processor is configured to:
Owner's user ID is associated with discarding file, wherein, can discard file comprise with file system structure that memory device is associated in be marked as discardable file;
Define and one group of permission can discarding the additional user ID that file is associated with should being used for of being associated with owner's user ID;
Receive from the application that is associated with additional user ID by communication interface and to carry out and can discard the request of operating that file is associated;
Determine based on this group permission whether the application that is associated with additional user ID can carry out this operation; And
Determine to manage and can discard the operation that file is associated based on this.
83. 2 storage system according to Claim 8, wherein, in order to manage and can to discard the operation that file is associated, described processor is configured to allow the application that is associated with additional user ID to read and can discards the preview data that file is associated.
84. 2 storage system according to Claim 8, wherein, described additional user ID is the sharing users ID that is associated with a plurality of users.
85. 2 storage system according to Claim 8, wherein, described additional user ID is the sharing users ID that is associated with a plurality of application.
86. a method that is used for the managed storage device, this method comprises:
Memory device operation in the main frame that is couple to:
In memory device, store preview data;
Preview data is associated with discarding file, can discard file comprise with file system structure that memory device is associated in be marked as discardable file; And
Management is to preview data and the visit that can discard file, so that allow the application access preview data but do not allow its visit can discard file.
87. 6 method according to Claim 8, wherein, the described file of discarding comprises preview data.
88. 6 method according to Claim 8, wherein, the described file of discarding is different from preview data.
89. 6 method according to Claim 8, wherein, the described file of discarding comprises film, and preview data comprises the movie trailer that is associated with this film.
90. 6 method according to Claim 8, wherein, the described file of discarding comprises TV programme, and preview data comprises the part of this TV programme.
91. 6 method according to Claim 8, wherein, the described file of discarding comprises music data, and preview data comprises the part of this music data.
92. 6 method according to Claim 8, wherein, the described file of discarding comprises program, and preview data comprises the crippled version of this program.
93. 6 method according to Claim 8, wherein, management is to preview data and can discard the visit of file and comprise so that allow the application access preview data but do not allow its visit can discard file:
Management is to preview data and the visit that can discard file, so as with can discard the date issued that file is associated before time period during allow the application access preview data but do not allow its visit can discard file.
94. the method according to claim 103 also comprises:
Management is to preview data and the visit that can discard file, so as with can discard the date issued that file is associated after time period during allow application access preview data and its visit of permission can discard file.
CN2009801550400A 2008-12-16 2009-11-19 Discardable files Pending CN102292723A (en)

Applications Claiming Priority (7)

Application Number Priority Date Filing Date Title
US12/336,089 2008-12-16
US12/336,089 US20100153474A1 (en) 2008-12-16 2008-12-16 Discardable files
US15903409P 2009-03-10 2009-03-10
US61/159,034 2009-03-10
IN2238/MUM/2009 2009-09-25
IN2238MU2009 2009-09-25
PCT/US2009/065056 WO2010074848A2 (en) 2008-12-16 2009-11-19 Discardable files

Publications (1)

Publication Number Publication Date
CN102292723A true CN102292723A (en) 2011-12-21

Family

ID=44278776

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2009801550400A Pending CN102292723A (en) 2008-12-16 2009-11-19 Discardable files

Country Status (5)

Country Link
EP (1) EP2359271A2 (en)
JP (1) JP2012512460A (en)
KR (1) KR20110107800A (en)
CN (1) CN102292723A (en)
WO (1) WO2010074848A2 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104135687A (en) * 2014-07-29 2014-11-05 深圳创维数字技术股份有限公司 Method for processing program data and digital television terminal
CN114564456A (en) * 2022-03-03 2022-05-31 北京天融信网络安全技术有限公司 Distributed storage file recovery method and device

Families Citing this family (10)

* 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
US8849856B2 (en) 2008-12-16 2014-09-30 Sandisk Il Ltd. Discardable files
US8463802B2 (en) * 2010-08-19 2013-06-11 Sandisk Il Ltd. Card-based management of discardable files
US8549229B2 (en) * 2010-08-19 2013-10-01 Sandisk Il Ltd. Systems and methods for managing an upload of files in a shared cache storage system
WO2012096951A2 (en) * 2011-01-16 2012-07-19 Sandisk Technologies Inc. System and method for managing discardable objects
BR112015026148B1 (en) * 2013-04-18 2022-02-08 Ruslan Albertovich Shigabutdinov METHOD, SYSTEM AND COMPUTER-READABLE NON-TRANSITORY STORAGE MEDIA FOR FILE MANAGEMENT BY MOBILE COMPUTER DEVICES
JP6325728B2 (en) * 2017-08-07 2018-05-16 株式会社東芝 Database management apparatus, database management method, and database management program
CN109471756B (en) * 2018-11-16 2022-10-14 得一微电子股份有限公司 Data recovery method, device and computer readable storage medium

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08101783A (en) * 1994-09-30 1996-04-16 Kubota Corp File system
JP4022971B2 (en) * 1998-02-16 2007-12-19 ソニー株式会社 Storage device and data deletion method
JP3864655B2 (en) * 2000-01-21 2007-01-10 富士通株式会社 File retention device
US7428540B1 (en) * 2000-03-03 2008-09-23 Intel Corporation Network storage system
JP2001325128A (en) * 2000-05-15 2001-11-22 Sony Corp Method for managing file and recording or reproducing device
US7043506B1 (en) * 2001-06-28 2006-05-09 Microsoft Corporation Utility-based archiving
JP4157294B2 (en) * 2001-11-08 2008-10-01 富士通株式会社 File system that enables repair of defective files
US7730033B2 (en) * 2003-06-13 2010-06-01 Microsoft Corporation Mechanism for exposing shadow copies in a networked environment
JP2005169861A (en) * 2003-12-11 2005-06-30 Canon Inc Printing device and data processing method
JP4561323B2 (en) * 2004-11-11 2010-10-13 ソニー株式会社 Information processing apparatus, information processing method, and program
JP2006164017A (en) * 2004-12-09 2006-06-22 Sony Corp Information processor, information processing method, and program
US7613704B2 (en) * 2005-01-19 2009-11-03 Hewlett-Packard Development Company, L.P. Enterprise digital asset management system and method
JP2007148637A (en) * 2005-11-25 2007-06-14 Sony Corp Information storage device, information processing method and program
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
US7991746B2 (en) * 2007-04-09 2011-08-02 Hewlett-Packard Development Company, L.P. Storage system and method

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104135687A (en) * 2014-07-29 2014-11-05 深圳创维数字技术股份有限公司 Method for processing program data and digital television terminal
CN114564456A (en) * 2022-03-03 2022-05-31 北京天融信网络安全技术有限公司 Distributed storage file recovery method and device

Also Published As

Publication number Publication date
JP2012512460A (en) 2012-05-31
EP2359271A2 (en) 2011-08-24
KR20110107800A (en) 2011-10-04
WO2010074848A2 (en) 2010-07-01
WO2010074848A3 (en) 2010-09-30

Similar Documents

Publication Publication Date Title
CN102292723A (en) Discardable files
US9015209B2 (en) Download management of discardable files
CN103154948B (en) Card-based management of discardable files
CN102257491A (en) Discardable files
CN103154911B (en) For managing the system and method uploaded of the file in the high-speed cache storage system shared
CN102257497B (en) Download management of discardable files
CN101743546B (en) Hierarchical storage management for a file system providing snapshots
CN1773509B (en) Computer file system
CN102292720A (en) Method and apparatus for managing data objects of a data storage system
CN102016852A (en) System and method for content addressable storage
CN105190573A (en) Reduced redundancy in stored data
US8205060B2 (en) Discardable files
CN105069002A (en) Flash memory file system and method using different types of storage media
US8375192B2 (en) Discardable files
US9020993B2 (en) Download management of discardable files
US20110320507A1 (en) System and Methods for Digest-Based Storage
US8849856B2 (en) Discardable files

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C02 Deemed withdrawal of patent application after publication (patent law 2001)
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20111221