CN102232214A - Systems and methods for managing files on a storage device - Google Patents

Systems and methods for managing files on a storage device Download PDF

Info

Publication number
CN102232214A
CN102232214A CN2010800032125A CN201080003212A CN102232214A CN 102232214 A CN102232214 A CN 102232214A CN 2010800032125 A CN2010800032125 A CN 2010800032125A CN 201080003212 A CN201080003212 A CN 201080003212A CN 102232214 A CN102232214 A CN 102232214A
Authority
CN
China
Prior art keywords
file
data
storage
name
piece
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN2010800032125A
Other languages
Chinese (zh)
Other versions
CN102232214B (en
Inventor
乔尔·H·欣里希斯
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.)
Dish Technologies LLC
Original Assignee
EchoStar Broadband LLC
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by EchoStar Broadband LLC filed Critical EchoStar Broadband LLC
Publication of CN102232214A publication Critical patent/CN102232214A/en
Application granted granted Critical
Publication of CN102232214B publication Critical patent/CN102232214B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/0674Disk device
    • G06F3/0676Magnetic disk device
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/06Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/953Querying, e.g. by the use of web search engines
    • G06F16/9535Search customisation based on user profiles and personalisation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0604Improving or facilitating administration, e.g. storage management
    • G06F3/0605Improving or facilitating administration, e.g. storage management by facilitating the interaction with a user or administrator
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0608Saving storage space on storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • G06F3/0643Management of files
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0683Plurality of storage devices
    • G06F3/0689Disk arrays, e.g. RAID, JBOD
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs

Landscapes

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

Abstract

Described herein are techniques for the dynamic allocation of storage capacity between multiple namespaces associated with a storage system. Data from multiple namespaces (301, 302, 303, 304) is stored in a common pool of addresses of the storage system (902) and data from each namespace is capable of being written to any free address of the storage system at any time (1002). Metadata associated with each of the files stored in the storage system is maintained that tracks the particular storage address and namespace associated with the file. Storage capacity can be dynamically allocated between multiple namespaces (912) by writing data to free blocks (116A) and updating the metadata accordingly.

Description

The system and method that is used for the file on the managing storage
Background technology
Calculation element usually comprises mass storage device, for example the nonvolatile memory in order to the data that are associated with calculation element of storage of disc driver, flash memory or other type.Mass storage device provides longer-term storage for file, and described file for example is word processing file, Email, photo, music and video.Sometimes, the capacity of memory storage can distribute between a plurality of purposes.For instance, the capacity of the disc driver in the digital video recorder (DVR) can distribute between the storage of record that the user selects and the record of operator's selection.In other words, the a certain capacity that the user has the right to have disc driver is used to store selected TV programme, and all the other capacity that system operator has the right to have disc driver are in order to specific program (for example, film) be pushed to DVR, described specific program through storage so that user's view content as required under the situation in its expectation subsequently.In this case, disc driver may be partitioned into two or more virtual storage devices, and DVR can come the optionally described virtual storage device of access via different name spaces.
The problem of this situation is that the purposes of competing needs previous fixing region allocation, and the almost not dynamically dirigibility of allocation space between two kinds of purposes.For instance, some users may not watch film as required, but may expect to utilize the entire capacity of the disc driver of DVR to be used to store its oneself selected content.Equally, some users may write down considerably less selected program, but can be the frequent user of content as required.Therefore, the user may the desirable system operator make the bigger selection via the available as required content of DVR.In these two kinds of situations, the memory capacity of the disc driver of DVR is all underused, and the user will have benefited from the flexible allocation of memory capacity according to its required use pattern.
Description of drawings
Same numeral is represented the element of similar elements or same type in all are graphic.
Fig. 1 illustrates the embodiment of computing system.
The embodiment of the physical block of the memory storage of Fig. 2 key diagram 1.
Fig. 3 illustrates that file in a plurality of name spaces is to the mapping in the share storage piece pond of memory storage.
The embodiment of the map information of Fig. 4 explanation after deleted file #3.
The embodiment of the map information of Fig. 5 explanation after storage file #5.
Fig. 6 explanation wherein makes the embodiment of the clear and definite map information of " not having next piece " or " end " indication.
Therefore Fig. 7 explanation wherein will be not be collected with piece makes the alternate embodiment that is easier to discern the current unappropriated map information of which piece in himself the chain.
Fig. 8 illustrates the embodiment of entertainment device.
Fig. 9 explanation is used between a plurality of name spaces the dynamically embodiment of the process of memory allocated.
Figure 10 explanation is used between a plurality of name spaces dynamically another embodiment of the process of memory allocated.
Embodiment
Various embodiment described herein is provided for promoting equipment, the system and method for the data storage in the nonvolatile memory substantially.More particularly, embodiment described herein provides the dynamic assignment of the memory capacity between a plurality of name spaces that are associated with storage system.From the data storage of a plurality of name spaces in shared pond of storage system.Keep be stored in storage system in file in each metadata that is associated, it follows the tracks of particular memory block address and name space associated with the file.
Because from the data storage of a plurality of name spaces in shared pond, so can be written to the arbitrary free piece of storage system the time in office from the data of each name space.The Real-time and Dynamic of the memory capacity between this name space that allows to compete is distributed, because the unallocated specific names space of giving of particular memory block.For instance, can store first data that join with the first title space correlation at first for specific.First data can be subsequently by the computing system deletion that is associated.Subsequently, storage system can utilize described to store second data that join with the second title space correlation again.
In certain embodiments, the data from different name spaces or virtual storage device can be stored in the continuous physical piece of memory storage.For instance, ten of memory storage in proper order storage block can keep data from three different name spaces.Can be stored in the continuous blocks on the single medium from the data of a plurality of uncorrelated name spaces.
In certain embodiments, the data file by the data-storage system storage can be stored in first data storage area.The metadata that is associated with data file can be stored in second data storage area of the data-storage system or the host computer system that is associated.For instance, data file can be stored in first district of memory storage of disc driver, flash memory device or other type.On the other hand, the metadata appointment that can be stored in same medium is used for second data storage area of storing metadata.In other words, metadata can be stored in the exclusive district of memory storage in disc driver, flash memory device etc.In at least one embodiment, metadata can be stored in another type memory different with the medium of storing data files.For instance, data file can be stored on the magnetic storage media (for example, disc driver), and metadata can be stored in random-access memory (ram) or the main storer of other type of being associated with data storage device in.RAM can be associated with calculation element substantially, the RAM of computing machine for example, and perhaps RAM can specificly be associated with the Memory Controller of data storage device,, can be physically located at the inside of disc driver that is.
For this purpose of description, " based on the metadata of FAT " and " FAT " are interchangeable; Both all refer to storage about one or more files with system through the various information of the existing of organizational form, identity and various attributes, it uses the technology that is commonly referred to " FAT " or " file allocation table " in this technology to describe each file advances to another piece from a piece on the medium mode.
In at least one embodiment, memory device stores is based on the metadata of FAT, and its description contains the name space tree of one or more name spaces.Name space or name space tree are made up of node.Have the node that depends on node and be called catalogue; Have other node that depends on the data area and be called file.Metadata based on FAT comprises a record at each node in the name space tree substantially, wherein each record comprises the information of coming recognition node by title, type and the person of depending on, for example when node is Archive sit, first associated with the file of memory storage.Depend on desired design criteria, can keep by the Memory Controller of computing system or memory storage based on the data of FAT.
In at least one embodiment, FAT is stored in the designation area of memory storage, and FAT upgrades in response to the read/write order at where applicable.In certain embodiments, FAT can be stored in the volatile memory of calculation element and/or memory storage, for example RAM that is associated with calculation element and/or the RAM that is associated with the Memory Controller of storage system.In at least one embodiment, the FAT data that are stored in the volatile memory can periodically be stored in the designation area of memory storage.The mode of quoting is in full incorporated describing a kind of being used at the title of on April 24th, 2008 application for the 12/109th, No. 019 shared application case co-pending of " being used for the system and method for the file of managing computer system (Systems and Methods for Reliably Managing Files in a Computer System) reliably " and keeping about the metadata that is stored in a plurality of files on the data storage medium and periodically store the system of the snapshot of the metadata on the data storage medium for later retrieval at storer of this paper into.
For convenience, often with reference to television receiver (for example, set-top box) or can received television signal and the similar system that on display, produces video image the notion that this paper presents is described.Yet teaching described herein is not limited to television receiver, and can easily be suitable in the computing system of arbitrary other type and dispose.The example that can incorporate other computing system that notion described herein is arranged into comprises personal computer, server, digital camera, audio or video media player, satellite or terrestrial radio receiver, audio-frequency/video frequency system and assembly (for example, compact disk or digital video disk player, the audio or video assembly, stereo receiver and/or amplifier, jukebox and/or the analog that are associated with automobile, aircraft or other vehicles), portable phone and/or any other device or system.Should be appreciated that incorporating into has memory storage (for example disc driver or flash memory) and arbitrary device or system with one group of manageable file system metadata all can have benefited from notion described herein.
Fig. 1 illustrates the embodiment of computing system 100.Computing system comprises computing machine 102, presents device 104 and input media 106.In these assemblies each is hereinafter described in more detail.Computing system 100 can comprise for the sake of simplicity and unaccounted other element, assembly or device.
Computing machine 102 can comprise the calculation element of arbitrary type, for example television receiver, personal computer, laptop computer, server etc.Computing machine 102 comprises controller 108, output interface 110, input interface 112, storer 114 and memory storage 116.The assembly of computing machine 102 can be coupled with communication mode by the data connection of one or more data buss 120 or other type.
Controller 108 can be operated to be used for the operation of control computer 102.As used herein, controller 108 refers to the group of single treating apparatus or interoperability treating apparatus.The operation of controller 108 can be by being controlled by the instruction that controller 108 is carried out.Some examples of instruction are software, program code and firmware.The various embodiment of controller 108 comprise the microcontroller or the microprocessor of arbitrary kind of the software code of carrying out arbitrary form.
Controller 108 is coupled to storer 114 with communication mode, and storer 114 can be operated with in operating period of controller 108 storage data.These data can comprise software and the firmware of being carried out by controller 108, and the system and/or the routine data that produce in the operating period of controller 108.Storer 114 can comprise the number storage (ROM (read-only memory) (ROM), RAM, flash memory and/or the analog that comprise arbitrary kind) of arbitrary kind or arbitrary combination of storer mentioned above.In at least one embodiment, storer 114 can be operated with storage about containing the metadata by the file tree of the file of computing machine 102 generations, utilization, storage and/or access.In at least one embodiment, file metadata can comprise FAT.Storer 114 also can be described as " main storer " at this paper.
Computing machine 102 also comprises memory storage 116, and it is for operating the mass storage device with arbitrary kind of the file that is associated with computing machine 102 of storage and other data.In at least one embodiment, memory storage 116 comprises the disc driver that non-volatile data storage is provided.In another embodiment, memory storage 116 can comprise flash memory.Should be appreciated that memory storage 116 can be presented as magnetic, optics or other type of storage of the arbitrary type that can store data, instruction and/or analog.Computing machine 102 by be stored in memory storage on file and/or the set of the metadata that is associated of catalogue manage described file and/or catalogue.Metadata can be stored in the storer 114, on the memory storage 116 or its combination.Memory storage 116 also can be described as " secondary memory " at this paper.
Computing machine 102 also comprise can operate with present the output interface 110 that device 104 is situated between and connects.More particularly, output interface 110 can be operated with output information and present for presenting device 104.Output interface 110 can be operated with the data that present with arbitrary type and output to and present device 104, comprises voice data, video data, audio/video (A/V) data, text data, image etc.In other embodiments, output interface 110 can comprise can operate with data transmission to the network interface of other assembly, device or element (for example other computing machine, server etc.).
Present the device that device 104 can comprise arbitrary type that can present the data that receive from computing machine 102.In at least one embodiment, present device 104 and comprise monitor, its suitable wired or wireless connection via arbitrary type is coupled to output interface 110 with communication mode.In another embodiment, present device 104 and comprise televisor, it via video or A/V cable (for example, assembly A/V cable, compound A/V cable, HDMI (High Definition Multimedia Interface) (HDMI) cable, S vision cable, concentric cable) or wireless connections (for example, WiFi, bluetooth etc.) be coupled to output interface 110 with communication mode.In at least one embodiment, presenting device 104 comprises audio receiver and/or is used to export for example one or more loudspeakers of voice data such as music.
Should be appreciated that computing machine 102 and present device 104 and can be independent assembly and maybe can be integrated in the single assembly.For instance, computing machine 102 can comprise set-top box (for example, cable television or satellite TV receiver), and presents device 104 and can comprise the televisor that is coupled to set-top box with communication mode.In another example, computing machine 102 and present the televisor that device 104 can be presented as the laptop computer with integrated display screen curtain or have integrated cable receiver, satellite receiver and/or DVR.
Input interface 112 can be operated to be situated between with one or more input medias 106 and connect.Input media 106 can comprise the device of the arbitrary type that is used to enter data into computing machine 102.More particularly, the data that receive from input media 106 can be in order to the operation of control controller 108 and/or to the data output that presents device 104.Input interface 112 can use wired or wireless connection the (comprising USB, WiFi, infrared ray etc.) of arbitrary type to be coupled with communication mode with input media 106.In certain embodiments, input interface 112 can comprise wireless receiver, is used for receiving from input media 106 RF or the IR communication of arbitrary type.Exemplary input media 106 comprises keyboard, mouse, button, operating rod, microphone, telepilot, touch pad etc.In at least one embodiment, computing machine 102 comprises television receiver, and input media 106 comprises the TV remote controller that is coupled to television receiver with communication mode.
Input media 106 can further can be operated the operation that presents device 104 with control.For instance, present device 104 and can comprise the televisor that uses IR or RF signal Long-distance Control by input media 106.In at least one embodiment, input media 106 can be with to present device 104 integrated.For instance, input media 106 and present device 104 and can comprise touch screen display.Input media 106 also can be integrated with computing machine 102.For instance, input media 106 can comprise the button of computing machine 102, for example the integrated keyboard of laptop computer or have television receiver or the preceding flat-panel monitor of the button of the entertainment device of other type.
As described previously, computing machine 102 can be operated to store data on memory storage 116.Single physical memory storage 116 can be configured to a plurality of virtual partitions, and it joins with specific names space correlation separately.For instance, first name space can be assigned identifier and " disclose ", and second name space can be assigned identifier " individual ".File on the memory storage 116 can come access by the pathname of software by specified file of the operating system of computing machine 102 and/or operation on computing machine 102.The name space that is associated of the pathname include file of file, for example open/file 1.Filename and path are unique in the specific names space.Therefore, two different files in two different name spaces of open/file 1 and 1 appointment of individual/file.
In a kind of technology that is used for memory storage is divided into a plurality of name spaces, the particular address range of a time in office with physical storage block is assigned to the specific names space.This means that name space has the storage allocation of setting at arbitrary special time, and memory storage 116 need be through cutting apart again to redistribute memory capacity between a plurality of name spaces.The embodiment of the physical block of the memory storage 116 of Fig. 2 key diagram 1.Memory storage 116A comprises eight physical block address 201 to 208, and it can operate the data byte that specifies number with storage separately.
For instance, piece 201 to 204 can be assigned to name space and " disclose ", and piece 205 to 208 is assigned to name space " individual ".In order to promote the retrieval to specific file, the metadata of the specific physical location that file was positioned in the memory storage 116 is described in computing machine 102 storages.For instance, computing machine 102 can be stored two metadata based on FAT, and one is used for " disclosing " driver, and another person is used for " individual " driver.First metadata can represent and be used for the LBA (Logical Block Addressing) 0 to 3 that name space " discloses ", and second metadata can represent the LBA (Logical Block Addressing) 0 to 3 that is used for name space " individual ".
Logical address can be translated as data by the Memory Controller of controller 108 or memory storage 116 with logical address corresponding physical position.For instance, in disk drive system, the physical storage block of memory storage 116 can number be discerned by its cylinder or orbit number and sector in orbit thereof or piece.In addition, comprise under the situation that has independently a plurality of medium services of read/write head separately at disc driver, specific head or surface number can be discerned specific physical block or surface thereon, position, sector.These a little physical addresss usually are called " CHS " (writing a Chinese character in simplified form of cylinder, head and sector).Yet physical address is presented to host computer system as the logical address that is mapped to specific CHS position by disc driver usually.These a little logical addresses are the scope in proper order of the logical block number (LBN) from zero to N normally, and wherein N is the physical sector available on the disc driver medium or the maximum number of piece.
Therefore main frame can specify addressing or discern specific physical block by its LBA (Logical Block Addressing) rather than by CHS complicated and trouble.The Memory Controller assembly of disc driver the LBA (Logical Block Addressing) that is provided is provided or be mapped to subsequently in the corresponding physical position (usually, specify the CHS address).
The embodiment of the tabulation of the file that following table #1 explanation is associated with computing machine 102.Simple in order to discuss, each file that is utilized in the example has the size of a piece that equals memory storage 116A.
The file that table #1----is associated with computing machine 102
Table #1 lists seven files supposing to be stored on the memory storage 116A.Make two metadata based on FAT of computing machine 102 (see figure 1)s storages now, one " discloses " with name space and to be associated, and another is associated with name space " individual ".Two metadata of explanation in table 2 and the table 3, its comprise the virtual block address of each file and each virtual block address through the translation physical block address, it is based on virtual block address and map information and produces.
Table #2----is used for FAT that name space " disclose " and through translating physical address
Figure BPA00001372062400071
The table #3----be used for name space " individual " FAT and through the translation physical address
Figure BPA00001372062400072
As illustrated in the above example, physical block 204 (being also referred to as dummy block will 4) is current does not store any data.Now, for example consider following situation, computing machine 102 need be on memory storage 116A storage file individual/my song 5.mp3.Yet the FAT indication that is used for name space " individual " does not have available free piece in " individual " name space address pool.Although piece 204 is freely, it can't be used for storage file individual/my song 5.mp3 because described free piece not with address pool that the FAT that is used for name space C is associated in.Therefore, computing machine 102 can't the storage file individual/my song 5.mp3.
This is problem because computing machine 102 can't utilize the residue memory capacity of memory storage 116A so that the storage file individual/my song 5.mp3.Yet, solve this problem according to described another memory technology hereinafter.In particular, a plurality of name spaces are assigned with the address from shared pond.Therefore, be different from the previous described technology that the specific predefine district of memory storage is assigned to the specific names space, depend on whether piece can freely store data, each piece 201 to 208 of memory storage 116A can be assigned to arbitrary name space of computing machine 102 time in office.In addition, utilize single metadata to keep the listed files that is used for two name spaces based on FAT.Metadata comprises the field that is used to store the name space that is associated with specific file.The embodiment of table #4 explanation metadata, it comprises the virtual block address of each file in name space, the LBA (Logical Block Addressing) of each file, name space associated with the file, and each LBA (Logical Block Addressing) through the translation physical block address.
The table #4----be used for two name spaces FAT and through the translation physical address
Figure BPA00001372062400081
As illustrated in the above example, piece 204 is current does not store any data, and is not associated with arbitrary name space.Now, for example consider following situation, computing machine 102 need be on memory storage 116A storage file individual/my song 5.mp3.Described 204 of computing machine 102 identification is freely, stores data associated with the file in the physical locations of piece 204, and correspondingly update metadata and FAT thereof with the data storage at reflection piece 204 places.
This technology allows as required between a plurality of name spaces dynamically memory allocated capacity.For instance, after storage file individual/my song 5.mp3, management changes the relative capacity by the utilization of " disclosing " and " individual " name space of change memory storage 116A, make a name space can use memory storage 116A total volume than great share, and another name space uses less share.When carrying out extra storage operation, memory storage 116A goes up the memory space of being used by each name space and will be tending towards correspondingly changing.
For instance, subsequent operation can be deleted specific file or the data that are stored in specific 201 to 208.Deletion action has discharged the piece of any one the storage data that is used for name space.In addition, bookkeeping has been expanded the memory capacity of being granted a name space, and has dwindled the capacity of being granted another name space.After these two incidents, the name space that discharges storage may can be expanded one in its file, possibly can't distribute new storage and discharged the name space of storing.
Described technology also is not matched with situation in single applicable to data wherein.The data that are used for single file need not to be stored in the continuous blocks.In fact, the data that are used for single file can be dispersed in any physical block address freely of memory storage 116A.In at least one embodiment, metadata comprises and is used for first pointer associated with the file and name space associated with the file.In addition, the FAT clauses and subclauses that are used for each piece comprise the pointer that points to next piece associated with the file.
Fig. 3 illustrates that file in a plurality of name spaces is to the map information 300 in the share storage piece pond of memory storage.More particularly, map information 300 comprises the FAT stored record 301 to 304 that is associated with the file that is used for three different name spaces.Memory storage has continuous physical block address pond, is identified as piece 304 to 319, and it can be used for storing from any one the data in three different name spaces separately.
Record 301 indication file #1 are associated with " disclosing " name space.In addition, record 301 comprises first data that piece 304 are identified as file.The first of the data that piece 304 storages are associated with file #1; The FAT clauses and subclauses identification block 309 of piece 304, the second portion of the data that its storage is associated with file #1.FAT clauses and subclauses 309 identification blocks 310, the third part of the data that its storage is associated with file #1.In certain embodiments, the FAT clauses and subclauses of piece 310 can comprise described information that does not have " next " piece of identification, and promptly its end with file #1 is corresponding.
Record 302 indication file #2 are associated with " individual " name space.In addition, record 302 comprises first data that piece 308 are identified as file #2, FAT clauses and subclauses 308 identification blocks 312, the remainder of its storage file #2.
Record 303 indication file #3 also are associated with " individual " name space, and also piece 316 are identified as the first of storage file #3.The FAT index that begins at the piece place by file #3 indication by traversal, but calculation element access block 313 and 318, it keeps the extra section of the data that are associated with file #3.
Similarly, record 304 indication file #4 are associated with " application " name space.Can travel through and write down 304 and the chain of the Address identifier that is associated of file #4, be stored in data in piece 315 and 319 with access.
Except identification by the document location based on the metadata appointment of FAT, map information 300 also can be in order to the free piece of identification medium.For instance, can travel through or otherwise handle map information 300 to discern free piece 306,307,311,314 and 317.Can use these pieces to store any data combination with open, individual or Apply Names space correlation connection subsequently.
From open, individual or Apply Names space deleted data the time, can correspondingly upgrade map information with available extra free piece on the reflection memory storage.For instance, can be from name space " individual " deleted file #3 (discerning the record 303).Deletion action release block 313,316 and 318 is used for storing the data from any one of name space.The embodiment of the map information 400 of Fig. 4 explanation after deleted file #3.Illustrated as map information 400, piece 306,307,311,313,314,316,317 and 318 is freely after deletion action.
In subsequent operation, can be with from one or more in the piece that the deletion by file #3 discharges of the data storage of different name spaces.For instance, " disclosing " the file #5 that is associated with name space can be stored in piece 313,314 and 318.The embodiment of the map information 500 of Fig. 5 explanation after the storage of file #5.As indicated among Fig. 5, the position of the piece 313 of the first of the record 501 identification storage files that are associated with file #5.To write down the chain headed by 501, computing system can be discerned the remainder of the file #5 that is stored in piece 314 and 318 by traversal.
Fig. 6 explanation wherein makes the embodiment of the clear and definite map information 600 of " not having next piece " or " end " indication.
Fig. 7 explanation wherein will not collected the therefore feasible alternate embodiment that is easier to discern the current map information that is not assigned with 700 of which piece in its own chain with piece.Therefore, the free piece 307 of record 701 identifications.Can begin to travel through FAT at piece 307 places to discern other free piece.
In certain embodiments, technology as described above can still be controlled the data capacity by arbitrary name space storage simultaneously in order to allow between a plurality of name spaces dynamically memory allocated space.For instance, the specific names space can have the storage allocation capacity that is associated.Therefore, though can be stored in the arbitrary free piece of memory storage from the data of name space, computing system can determine whether name space will be above the capacity of its appointment before specific data storages is arrived the free piece of memory storage.
For instance, computing system can be presented as the satellite TV receiver with integrated DVR, and it comprises the content that the 500GB medium is selected with the record that is used to store the user and selectes and storage system operation person, for example pay-per-use (PPV) film.In addition, the record that the user selectes can be associated with the name space with 350GB limit, and the selected content of system operator can be associated with the name space that does not have limit.
System operator can be stored the content of 150GB and watch as required for the user on medium.Yet if the user utilizes the 200GB of memory capacity just, system operator can determine the content of storage 200GB on medium so.Therefore technology as described above allows the memory capacity of memory allocated device dynamically to adapt to extra system operator chosen content.
On the other hand, DVR can force the 350GB restriction by the record that ceiling restriction is selected the user.Therefore, if the selected content of system operator has the size of 50GB at arbitrary special time, the medium of 100GB can not be used so, and reason is the 350GB restriction that the user area is forced.In addition, limit can dynamically be distributed by DVR.For instance, but the system operator extract premium fees to allow the more contents of user storage, the content of 400GB or 450GB for example, thus increase the amount that the user can use, and reduce the amount that can be stored in the system operator chosen content on the driver.
In addition, can force limit to the specific node (for example, file and catalogue) of name space.For instance, the particular file folder of name space or file can have the storage restrained budget that is associated.In addition, the restriction of specific node can separate with the restriction of parent node.For instance, matronymic claims the space can have the 1GB restriction, and particular file folder can have the independent restriction that the matronymic of not being regarded as claims the part that the 1GB in space limits.In at least one embodiment, the restriction of specific node can be greater than the restriction of parent node.For instance, parent node can have the storage restriction of 1GB, and child node can have the storage restriction of 2GB; The 2GB limit calculation with child node is not the part of the storage restriction of parent node.
In certain embodiments, dynamically carry out the modification of specific node.For instance, satellite television provider can revise the order of the restriction of specific names space and node thereof to the set-top box emission.In some cases, remove the budget that the part of the budget on the child node can be transferred to next upstream node with the budget and the current use of child node.For instance, folder node open/level 1/ level 2 (public/level1/level2) can have the budget that is associated of 500MB.If reduce after a while or remove described restriction, so budget can be transferred to next nodes higher through removing part, open/level 1/ for example, this depends on desired design criteria, and depend on where next is limited in, for example open/level 1/ or open/.
Also may limit the file or folder that has existed downwards.For instance, file or file can have the size of 1GB.File or folder can be assigned the restriction of 500MB subsequently.Therefore, file can narrow down to 500MB or less than 500MB, the growth but file is under an embargo is unless its size at first becomes below the restriction of 500MB subsequently.In at least one embodiment, when limiting file downwards from 1GB to 500MB, the other 500MB of storage budget transfers to next higher constrained nodes.
As indicated above, data storage technology described herein is useful to storage data in entertainment devices such as for example television receiver.Fig. 8 illustrates the embodiment of entertainment device 800.Entertainment device comprises communication interface 802, storer 804, controller 806, interface module 808 and memory storage 810.In these assemblies each will be described hereinafter in more detail.Entertainment device 800 can comprise for the sake of simplicity and unaccounted other element, assembly or device.
Communication interface 802 can be operated to be used for and external network communication.More particularly, communication interface 802 can be operated to be used for receiving rendering content 812 from external content source.Communication interface 802 can be operated to install two-way communication from the external content source received content and/or with content source and/or other.Communication interface 802 can use the network topology of arbitrary type to communicate by letter with external content source and/or other device by the wireless of arbitrary type or wire communication medium.
For instance, entertainment device 800 can be the bigger broadcasting or the part of emission coefficient.More particularly, entertainment device 800 can comprise the client acceptor device of broadcast system.For instance, entertainment device 800 can comprise the television receiver in satellite or the cable television emission coefficient.
In at least one embodiment, communication interface 802 comprises TV tuner, and it can be operated to receive the radio or television signal from content source.More particularly, tuner receives and tuningly comprises transmitting of TV programme and/or radio programming.Tuner can receive air broadcast signal, direct broadcasting satellite signal, cable television signal or internet protocol TV (IPTV) signal, and tuning rendering content 812 is to extract selected TV programme.
Storer 804 can be operated setting value and other data with storage entertainment device 800.Storer 804 can be similar to the storer of describing among Fig. 1 114.In at least one embodiment, storer 804 storages are based on the metadata of FAT, and it describes the data by entertainment device 800 storages.
Controller 806 can be operated the operation with control entertainment device 800.In at least one embodiment, controller 806 can be similar to the controller of describing among Fig. 1 108.Controller 108 can comprise and be used to handle and export for example various assemblies or the module of rendering content such as audio/video content.The example components or the module that are used for processing audio/video content comprise detuner, demoder, decompressor, conditional access module and transcoder module.
Controller 806 is handled rendering content 812 to produce output stream, for example audio output stream, video output streams or audio/video output stream.Output stream outputed to be used for presenting device (not shown), for example televisor, audio receiver, loudspeaker etc. to what the user presented.Controller 806 can be incorporated into has circuit with presenting the cognizable any form output audio/video flowing of device, comprises composite video, component vide, Digital Visual Interface (DVI) and HDMI.Controller 806 also can be incorporated into has circuit to support polytype these or other audio/video format.In at least one embodiment as described above, entertainment device 800 can to present device integrated with for example televisor etc., and controller 806 can be operated presenting with control audio/video output streams.
Interface module 808 can be operated with the input media (not shown Fig. 8) from telepilot or other type and wirelessly be received data.Interface module 808 can utilize the wired or wireless communication link of arbitrary type to communicate by letter with the input media of telepilot or other type.In at least one embodiment, interface module 808 receives key code from telepilot, and responsively key code is offered controller 806 to be used for further processing.Controller 806 utilizes key code to handle the output of rendering content 812.
Memory storage 810 can be operated rendering content and the selected content of system operator that the user that receives via communication interface 802 with storage selectes.More particularly, the first title space correlation of the rendering content selected of user and entertainment device connection.For instance, the rendering content selected of user can be stored under name space " discloses ".Content that system operator is selected and the second title space correlation of entertainment device connection.For example, the selected content of system operator can be stored under the name space " individual ".As mentioned above, two types content all is stored in the pond, shared storage address (for example piece of memory storage 810).
May ask to store the rendering content 812 that receives by entertainment device 812 by some order that interface module 808 receives.For instance, the user may watch specific television program, and may expect to write down described TV programme.In other situation, the user can set timer, and entertainment device 800 does not utilize described timer to write down rendering content 812 when watching TV programme the user.The content that controller 806 is selected with the storage user when receiving order or at time processing command after a while.
In addition, for example system operator such as satellite broadcasters is transmitted into entertainment device 800 for being stored on the memory storage with content.For instance, system operator can be stored the PPV film on memory storage 810, and the user can buy and watch as required subsequently.Can know the user of entertainment device 800 or ignorant situation under carry out content stores on the memory storage 810.
According to above teaching, entertainment device 800 is kept to describe and is stored in the FAT of the data on the memory storage 810 or the metadata of other type.More particularly, the name space that is associated with the specific file of data on being stored in memory storage 810 of metadata description.Therefore, the memory capacity of memory allocated device 810 dynamically between two name spaces that can be associated in the content that the content of selecting with the user and network operator select.
In other embodiments, can there be a plurality of name spaces that are associated with a plurality of users of entertainment device 800.For instance, in four people's family, father's account can join with the first title space correlation, and mother's account can join with the second title space correlation, and each child's account can be associated with independent name space.Therefore, entertainment device 800 can come the dynamically memory capacity of memory allocated device 810 by using file storage technology described herein.In certain embodiments, can force limit to the specific names space according to teaching as described above.
Be understood by those skilled in the art that, be shown as the various function element 802 to 810 that in entertainment device 800, to operate and can be combined as the discrete functionality element that less discrete elements maybe can be decomposed into greater number according to design alternative.Therefore, Fig. 8 advised specific function is decomposed set only as a kind of example that may Function Decomposition of the element in the entertainment device 800.
Fig. 9 explanation is used between a plurality of name spaces the dynamically embodiment of the process of memory allocated.The process of Fig. 9 can be carried out by the controller of the calculation element (for example computing machine, server etc.) of arbitrary type.In other embodiments, the process of Fig. 9 can be carried out by the Memory Controller of memory storages such as for example disc driver, and can be shielded from outside the operation of general calculation element or host computer system.The process of Fig. 9 can comprise for the sake of simplicity and unaccounted other operation.
Described process is included in the data that storage is associated with at least the first and second name spaces on the memory storage (operation 902).Memory storage has the capacity that is associated with storing that can distribute between two name spaces.In at least one embodiment, first name space can initially be assigned with first of memory capacity and distribute, and second name space can initially be assigned with second distribution of memory capacity.For instance, the medium of 100GB can comprise the 50GB capacity of distributing to first name space and the 50GB capacity of distributing to second name space.
Described process further comprises the metadata (operation 904) of storage about the file that is associated with first and second name spaces.More particularly, metadata comprises the information that identification name claims the piece that is associated with specific file of space and memory storage.In at least one embodiment, metadata store with FAT that memory storage is associated in.As indicated above, single FAT can be in order to the metadata of storage about a plurality of name spaces.
Described process further comprises first request (operation 906) of storing first file that joins with the first title space correlation on the data storage device that is received in.In response to the request of receiving, described process comprises based on the information among the FAT and at least one first free piece of recognition data memory storage (operation 908).If, operating 908 so greater than single size, first file can comprise a plurality of free piece of discerning memory storage.In at least one embodiment, operation 908 can comprise the free piece of the file (for example, second file) of previous storage of identification and second title space correlation connection.More particularly, second file may rise when the cutting apart at last of memory storage and be stored in the free piece.In case delete second file from second name space, the piece that is associated with second file just becomes the data that can be used for storing from first name space or second name space.
Described process further is included in the first free piece place and stores first file (operation 910).If there are a plurality of free pieces, operate the 910 a plurality of free piece places that are included in identification in the operation 908 so and store first file.Described process further comprises the information of revising among the FAT, so that free piece is associated with first file and name space.If use a plurality of to store first file, so renewable FAT is same in order to store any other piece of first file to reflect.
Described process further comprises based in order to the size of the free piece of storing first file and/or revise first in order to the number of the piece of storing first file and distribute and second ratio that distributes (operation 912).For instance, receive in step 906 before the request, first name space can comprise the data that are stored in the 50GB altogether on the memory storage.On the other hand, second name space can comprise the data that are stored in the 20GB altogether on the memory storage.If first file of request storage has the size of 5GB in operation 906,912 operation will be changed into 55GB/45GB to the allotment ratio of name space from 50GB/50GB so.
Can carry out other file that subsequent operation is associated with arbitrary name space with storage.These subsequent operations may or may not change the allotment ratio of the memory capacity of name space.For instance, described process can comprise second request of the 3rd file that receives storage and second title space correlation connection.In response to described request, discern at least one second free piece based on the information among the FAT, and store the 3rd file at the second free piece place.In at least one embodiment, the second free piece can with the first free piece or store in the piece of first file any one is continuous physically.Be associated with storage the 3rd file, the information among the modification FAT is so that the second free piece and the 3rd file and second title space correlation connection.
In the further operation of description example, the allotment ratio of the memory capacity that is associated with name space does not change and remains 55GB/45GB, unless satisfy some condition.For instance, the excessive data of storing for one in the name space can change two allotment ratios between the name space.In certain embodiments, do not revise the allotment ratio of the memory capacity that is used for two or more name spaces, unless the size of data that is associated with name space equals to be used for the distribution of the memory capacity of described name space at least.Therefore at least one embodiment, first of the memory capacity between a plurality of name spaces is distributed with second ratio that distributes and is kept identical, unless equal the distribution that is associated of memory capacity at least with the size of data that the first or second title space correlation joins.If first precondition is true, can revise allotment ratio based on size so in order to the piece of the specific file in one in the store name space.
The operation of the process by Fig. 9, can be between a plurality of name spaces the memory capacity of memory allocated device dynamically.Therefore, if surpass the memory capacity of first name space, but can utilize the memory capacity of second name space to hold the storage of the file of first name space in the time spent so.This allows the more efficient of the total memory capacity of the memory storage that is divided into a plurality of name spaces is used.
Figure 10 explanation is used between a plurality of name spaces dynamically another embodiment of the process of memory allocated.Be similar to the process of Fig. 9, the process of Figure 10 can be carried out by the controller of the calculation element of arbitrary type or the Memory Controller of memory storage.The process of Figure 10 can comprise for the sake of simplicity and unaccounted other operation.
Described process is included in first data (operation 1002) of storage and first title space correlation connection in the piece of memory storage.Described process further comprises revises the FAT (operation 1004) that is associated with storage first data.FAT comprises described information that joins with first data and the first title space correlation of identification.
Described process further comprises first instruction (operation 1006) that receives deletion first data.Described process further comprises revises the FAT (operation 1008) that is associated with deletion first data.Therefore, described becomes and can be used for storing with first name space or be associated with the data that another name space of memory storage is associated.
Described process further comprises second instruction (operation 1010) that is received in storage second data on the memory storage.More particularly, second data and second title space correlation connection.Described process comprises further that to discern described based on FAT be (operation 1012) freely.
In response to identifying described is freely, and described process is included in storage second data (operation 1014) in the piece.Described process further comprises revises the FAT (operation 1016) that is associated with storage second data.FAT through upgrading comprises described information that joins with second data and the second title space correlation of identification.
In certain embodiments, teaching described herein can be used for providing the Redundant Array of Independent Disks storage capacity.Above the metadata of being mentioned can be further encoded to comprise the RAID level, for example whether used parity.Therefore, can under situation about not forcing, on memory storage, store data to the position dependence of data.For instance, from the data of same RAID bar can be stored on the medium Anywhere rather than be stored in the predefined position.Can use the metadata that is stored among the FAT to come access and deal with data.
Though this paper describes specific embodiment, scope of the present invention is not limited to described specific embodiment.Scope of the present invention is defined by appended claims and any equipollent wherein.

Claims (22)

1. data-storage system, it comprises:
First data storage area, it has the memory capacity that is associated, the data that the storage of described first data storage area is associated with at least the first and second name spaces, described first name space has first of described memory capacity and distributes, and described second name space has second distribution of described memory capacity;
Second data storage area, it stores the metadata about the file that is associated with described first and second name spaces, and described metadata is discerned the piece that is associated with specific file of described name space and described first data storage area;
Controller, it is coupled to described first data storage area and described second data storage area with communication mode, and described controller is configured to:
Be received in first request of storing first file that joins with the described first title space correlation in described first data storage area;
Discern at least one free piece of described first data storage area based on described metadata, second file of previous storage of described free piece and described second title space correlation connection;
The place stores described first file at described free piece;
Revising described first based on the size of described free piece distributes and described second ratio that distributes; And
Revise described metadata so that described free piece and described first file and described second title space correlation connection.
2. data-storage system according to claim 1, wherein said free piece comprise the part in the share storage piece pond that is associated with described first and second name spaces.
3. data-storage system according to claim 2, wherein said controller further is configured to:
Receive second request of described first file of deletion; And
Revise described metadata in response to described second request, information indicates described free piece to can be used for storing the data that join with described first name space or the described second title space correlation.
4. data-storage system according to claim 1, first and second of the data of wherein said free piece and storage and described second title space correlation connection is physically continuous.
5. data-storage system according to claim 1 is wherein with described first distribution of the size of data of the described first title space correlation connection described memory capacity when discerning described free piece when described controller.
6. data-storage system according to claim 1, wherein said first data storage area and described second data storage area comprise the part of nonvolatile memory.
7. data-storage system, it comprises:
First data storage area, it comprises the share storage piece pond that is associated with at least the first and second name spaces;
Second data storage area, its storage comprises the file allocation table of a plurality of records that are associated with file in described first and second name spaces, each record identification be stored in be associated with described specific file at least one and described first and second name spaces that are associated with described specific file in the specific file in described first data storage area, the described storage block one; And
Controller, it is coupled to described first data storage area and described second data storage area with communication mode, and described controller is configured to:
Receive first request of first file of storage and described first title space correlation connection;
Store described first file at the first storage block place;
Revise first record that is associated with described first file in the described file allocation table, described first record is with reference to described first storage block and described first name space;
Receive second request of second file of storage and described second title space correlation connection;
Store described second file at the second storage block place; And
Revise second record that is associated with described second file in the described file allocation table, described second record is with reference to described second storage block and described second name space.
8. data-storage system according to claim 7, wherein said controller further is configured to:
Receive the 3rd request of described first file of deletion;
Revise described file allocation table in response to described the 3rd request;
Receive the 4th request of the 3rd file of storage and described second title space correlation connection;
Store described the 3rd file at the described first storage block place;
Revise the 3rd record that is associated with described the 3rd file in the described file allocation table, described the 3rd record is with reference to described first storage block and described second name space.
9. data-storage system according to claim 7, the continuous physical piece that wherein said first storage block and described second storage block are described first data storage areas.
10. method of memory allocated dynamically between a plurality of name spaces, described method comprises:
The data that storage is associated with at least the first and second name spaces on memory storage, described memory storage has the memory capacity that is associated, described first name space has first of described memory capacity and distributes, and described second name space has second distribution of described memory capacity;
The storage file allocation table, it comprises the information about the file that is associated with described first and second name spaces, the piece that is associated with specific file of described name space of described information Recognition and described memory storage;
Be received in first request of storing first file that joins with the described first title space correlation in described first data storage area;
Discern at least one first free piece of described first data storage area based on the described information in the described file allocation table, second file of previous storage of the described first free piece and described second title space correlation connection;
Store described first file at the described first free piece place;
Revising described first based on the size of the described first free piece distributes and described second ratio that distributes; And
The described information in the described file allocation table revised is so that the described first free piece and described first file and described second title space correlation connection.
11. method according to claim 10, it further comprises:
Be received in second request of storing the 3rd file that joins with the described second title space correlation in described first data storage area;
Discern at least one second free piece of described first data storage area based on the described information in the described file allocation table, the described second free piece and the described first free piece are physically continuous;
Store described the 3rd file at the described second free piece place; And
The described information in the described file allocation table revised is so that the described second free piece and described the 3rd file and described second title space correlation connection.
12. method according to claim 10, the wherein said first free piece comprise the part in the share storage piece pond that is associated with described first and second name spaces.
13. method according to claim 10, it further comprises:
Receive second request of described first file of deletion;
Revise described information in the described file allocation table in response to described second request, described information indicates described free piece to can be used for storing data with described first name space or described second title space correlation connection.
14. method according to claim 10, wherein said first data storage area and described second data storage area comprise the part of nonvolatile memory.
15. the method for memory allocated dynamically between a plurality of name spaces, described method comprises:
First data of the storage and first title space correlation connection in the piece of memory storage;
Be associated and the revised file allocation table with described first data of storage, described file allocation table comprises described information that joins with described first data and the described first title space correlation of identification;
Receive first instruction of described first data of deletion;
Be associated and revise described file allocation table with described first data of deletion;
Be received in second instruction of storage second data on the described memory storage, described second data and second title space correlation connection;
Discerning described based on described file allocation table is freely;
Described second data of storage in described; And
Be associated with described second data of storage and revise described file allocation table, the file allocation table through upgrading comprises described information that joins with described second data and the described second title space correlation of identification.
16. method according to claim 15, wherein said first name space have first the distributing of memory capacity of described memory storage, and described second name space has second of described memory capacity and distribute, described method further comprises:
The size of data of identification and described second title space correlation connection equals described second of described memory capacity at least and distributes; And
Revising described first based on described size distributes and described second ratio that distributes.
17. method according to claim 15 is wherein carried out described of identification in response to the size of data of determining to join with the described second title space correlation less than described second distribution of described memory capacity.
18. an entertainment device, it comprises:
Communication interface, it receives rendering content from external network;
First data storage area, it comprises the share storage piece pond that is associated with at least the first and second name spaces, and described first name space is associated with user's chosen content, and described second name space is associated with the system operator chosen content;
Second data storage area, its storage comprises the file allocation table of a plurality of records that are associated with file in described first and second name spaces, each record identification be stored in be associated with described specific file at least one and described first and second name spaces that are associated with described specific file in the specific file in described first data storage area, the described storage block one; And
Controller, it is coupled to described communication interface, described first data storage area and described second data storage area with communication mode, and described controller is configured to:
Receive first request of storage user chosen content;
Store described user's chosen content at the first storage block place;
Revise first record that is associated with first chosen content in the described file allocation table, described first record is with reference to described first storage block and described first name space;
Receive storage via of second request of described communication interface from the first system operator chosen content of described external network reception;
Store the described first system operator chosen content at the second storage block place;
Revise second record that is associated with described custom system operator's chosen content in the described file allocation table, institute
State second record with reference to described second storage block and described second name space; And
Export in described user's chosen content and the described first system operator chosen content at least one for presenting.
19. entertainment device according to claim 18, wherein said rendering content comprises video content.
20. entertainment device according to claim 18, wherein said communication interface comprises TV tuner, and wherein said user's chosen content comprises transmission of television.
21. entertainment device according to claim 18, wherein said controller further is configured to:
Receive the 3rd request of the described user's chosen content of deletion;
Revise described file allocation table in response to described the 3rd request;
Receive the 4th request of the storage second system operator chosen content;
Store the described second system operator chosen content at the described first storage block place;
Revise the 3rd record that is associated with the described second system operator chosen content in the described file allocation table, described the 3rd record is with reference to described second system operator chosen content and described second name space.
22. entertainment device according to claim 18, wherein said first and described second is the continuous physical piece of described first data storage area.
CN201080003212.5A 2009-01-27 2010-01-22 Systems and methods for managing files on a storage device Active CN102232214B (en)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US12/360,608 2009-01-27
US12/360,608 US8738621B2 (en) 2009-01-27 2009-01-27 Systems and methods for managing files on a storage device
PCT/US2010/021750 WO2010088148A2 (en) 2009-01-27 2010-01-22 Systems and methods for managing files on a storage device

Publications (2)

Publication Number Publication Date
CN102232214A true CN102232214A (en) 2011-11-02
CN102232214B CN102232214B (en) 2014-09-03

Family

ID=42355011

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201080003212.5A Active CN102232214B (en) 2009-01-27 2010-01-22 Systems and methods for managing files on a storage device

Country Status (7)

Country Link
US (1) US8738621B2 (en)
EP (1) EP2409233A4 (en)
KR (1) KR101313482B1 (en)
CN (1) CN102232214B (en)
CA (1) CA2749918C (en)
MX (1) MX2011004883A (en)
WO (1) WO2010088148A2 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102855091A (en) * 2012-08-09 2013-01-02 上海卫星工程研究所 Method and device for segmenting and dynamically distributing data transfer data storage space
CN106534753A (en) * 2015-09-15 2017-03-22 船井电机株式会社 Recording and reproducing apparatus

Families Citing this family (57)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090089315A1 (en) * 2007-09-28 2009-04-02 Tractmanager, Inc. System and method for associating metadata with electronic documents
US8271751B2 (en) * 2008-04-24 2012-09-18 Echostar Technologies L.L.C. Systems and methods for reliably managing files in a computer system
CN101527736A (en) * 2009-04-09 2009-09-09 中兴通讯股份有限公司 Service content processing method and updating method in distributed file system and device thereof
US8290342B2 (en) * 2009-04-23 2012-10-16 International Business Machines Corporation Managing digital video recorder storage for a plurality of users
US20110314070A1 (en) * 2010-06-18 2011-12-22 Microsoft Corporation Optimization of storage and transmission of data
WO2012032569A1 (en) * 2010-09-06 2012-03-15 Hitachi, Ltd. Cluster type storage system and method of controlling the same
US8688660B1 (en) * 2010-09-28 2014-04-01 Amazon Technologies, Inc. System and method for providing enhancements of block-level storage
US20120226721A1 (en) * 2011-03-02 2012-09-06 Texas Instruments Incorporated Systems, apparatuses and methods for preserving geographic metadata
KR20130064521A (en) * 2011-12-08 2013-06-18 삼성전자주식회사 Data storage device and data management method thereof
US8738581B1 (en) * 2012-02-15 2014-05-27 Symantec Corporation Using multiple clients for data backup
TWI489272B (en) * 2012-04-03 2015-06-21 Phison Electronics Corp Data protecting method, and memory controller and memory storage device using the same
US9348758B2 (en) * 2012-09-24 2016-05-24 Sk Hynix Memory Solutions Inc. Virtual addressing with multiple lookup tables and RAID stripes
US20140157324A1 (en) * 2012-11-30 2014-06-05 Comcast Cable Communications, Llc Content Identification and Management
US9652376B2 (en) 2013-01-28 2017-05-16 Radian Memory Systems, Inc. Cooperative flash memory control
US10642505B1 (en) 2013-01-28 2020-05-05 Radian Memory Systems, Inc. Techniques for data migration based on per-data metrics and memory degradation
US11249652B1 (en) 2013-01-28 2022-02-15 Radian Memory Systems, Inc. Maintenance of nonvolatile memory on host selected namespaces by a common memory controller
US10445229B1 (en) 2013-01-28 2019-10-15 Radian Memory Systems, Inc. Memory controller with at least one address segment defined for which data is striped across flash memory dies, with a common address offset being used to obtain physical addresses for the data in each of the dies
US9965502B2 (en) * 2013-02-27 2018-05-08 Hitachi Vantara Corporation Content class for object storage indexing system
US9244952B2 (en) 2013-03-17 2016-01-26 Alation, Inc. Editable and searchable markup pages automatically populated through user query monitoring
US11221967B2 (en) 2013-03-28 2022-01-11 Hewlett Packard Enterprise Development Lp Split mode addressing a persistent memory
GB2534693B (en) * 2013-11-08 2017-02-08 Exacttrak Ltd Data accessibility control
US10802732B2 (en) * 2014-04-30 2020-10-13 Pure Storage, Inc. Multi-level stage locality selection on a large system
US9542118B1 (en) 2014-09-09 2017-01-10 Radian Memory Systems, Inc. Expositive flash memory control
US10552085B1 (en) * 2014-09-09 2020-02-04 Radian Memory Systems, Inc. Techniques for directed data migration
CN104778016B (en) * 2015-04-23 2018-06-22 深圳市美贝壳科技有限公司 A kind of automatic storage controlling method under multiple storage devices environment
US10552058B1 (en) 2015-07-17 2020-02-04 Radian Memory Systems, Inc. Techniques for delegating data processing to a cooperative memory controller
US10909186B2 (en) 2015-09-30 2021-02-02 Oracle International Corporation Multi-tenant customizable composites
US9870367B2 (en) * 2016-01-04 2018-01-16 Acronis International Gmbh System and method of using data blocks to optimize file storage
US10380100B2 (en) * 2016-04-27 2019-08-13 Western Digital Technologies, Inc. Generalized verification scheme for safe metadata modification
US10380069B2 (en) 2016-05-04 2019-08-13 Western Digital Technologies, Inc. Generalized write operations verification method
US10402092B2 (en) 2016-06-01 2019-09-03 Western Digital Technologies, Inc. Resizing namespaces for storage devices
KR20180047402A (en) * 2016-10-31 2018-05-10 삼성전자주식회사 Storage device managing multi-namespaces and Method of operating the storage device
US10185507B1 (en) * 2016-12-20 2019-01-22 Amazon Technologies, Inc. Stateless block store manager volume reconstruction
US10921991B1 (en) 2016-12-20 2021-02-16 Amazon Technologies, Inc. Rule invalidation for a block store management system
US10268593B1 (en) 2016-12-20 2019-04-23 Amazon Technologies, Inc. Block store managamement using a virtual computing system service
US10809920B1 (en) 2016-12-20 2020-10-20 Amazon Technologies, Inc. Block store management for remote storage systems
US11507283B1 (en) 2016-12-20 2022-11-22 Amazon Technologies, Inc. Enabling host computer systems to access logical volumes by dynamic updates to data structure rules
US20180335975A1 (en) * 2017-05-16 2018-11-22 Lenovo Enterprise Solutions (Singapore) Pte. Ltd. Translating a host data storage command into multiple disk commands
US10338842B2 (en) 2017-05-19 2019-07-02 Samsung Electronics Co., Ltd. Namespace/stream management
US10437476B2 (en) 2017-10-23 2019-10-08 Micron Technology, Inc. Namespaces allocation in non-volatile memory devices
US10503404B2 (en) 2017-10-23 2019-12-10 Micron Technology, Inc. Namespace management in non-volatile memory devices
US11580034B2 (en) * 2017-11-16 2023-02-14 Micron Technology, Inc. Namespace encryption in non-volatile memory devices
US10915440B2 (en) 2017-11-16 2021-02-09 Micron Technology, Inc. Namespace mapping optimization in non-volatile memory devices
US10678703B2 (en) 2017-11-16 2020-06-09 Micron Technology, Inc. Namespace mapping structual adjustment in non-volatile memory devices
US10223254B1 (en) 2017-11-16 2019-03-05 Micron Technology, Inc. Namespace change propagation in non-volatile memory devices
US10691592B2 (en) 2018-10-30 2020-06-23 Micron Technology, Inc. Error-checking in namespaces on storage devices using a namespace table and metadata
US11068165B2 (en) * 2019-06-27 2021-07-20 Western Digital Technologies, Inc. Non-volatile memory data write management
US11947799B1 (en) 2019-10-11 2024-04-02 Amzetta Technologies, Llc Systems and methods for using the TRIM command with solid state devices
US11775174B1 (en) 2019-10-11 2023-10-03 Amzetta Technologies, Llc Systems and methods of data migration in a tiered storage system based on volume priority category
US11321295B2 (en) * 2019-11-14 2022-05-03 Acronis International Gmbh Systems and methods for improving indexer performance by multiplexing data of an underlying index
US11169855B2 (en) * 2019-12-03 2021-11-09 Sap Se Resource allocation using application-generated notifications
US11175984B1 (en) 2019-12-09 2021-11-16 Radian Memory Systems, Inc. Erasure coding techniques for flash memory
KR20220003786A (en) 2020-07-02 2022-01-11 삼성전자주식회사 Operation method of storage device
KR20220053808A (en) * 2020-10-23 2022-05-02 삼성전자주식회사 Multi-namespace storage device, electronic system including the same storage device and the mehod of operating the same storage device
US11611618B2 (en) 2020-12-31 2023-03-21 Nutanix, Inc. Orchestrating allocation of shared resources in a datacenter
US11734044B2 (en) * 2020-12-31 2023-08-22 Nutanix, Inc. Configuring virtualization system images for a computing cluster
US12001329B2 (en) * 2021-01-05 2024-06-04 Dell Products L.P. System and method for storage class memory tiering

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040158834A1 (en) * 2003-02-06 2004-08-12 International Business Machines Corporation Apparatus and method for dynamically allocating resources of a dead logical partition
CN1957414A (en) * 2004-05-10 2007-05-02 松下电器产业株式会社 Data recording/reproduction for write-once discs
CN101059982A (en) * 2004-07-30 2007-10-24 三星电子株式会社 Storage medium including metadata and reproduction apparatus and method therefor

Family Cites Families (38)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5592675A (en) 1992-01-08 1997-01-07 Hitachi, Ltd. Computer controlled method and system capable of preserving information representing plural work states and recovering the work states
US5422762A (en) 1992-09-30 1995-06-06 Hewlett-Packard Company Method and apparatus for optimizing disk performance by locating a file directory on a middle track and distributing the file allocation tables close to clusters referenced in the tables
US6195217B1 (en) 1995-03-06 2001-02-27 Hyundai Electronics Industries Co., Ltd. Hard disk equipped with a memory for storing file allocation table (FAT) information
US5715455A (en) 1995-05-18 1998-02-03 International Business Machines Corporation Apparatus and method for storing file allocation table efficiently in memory
US5933603A (en) 1995-10-27 1999-08-03 Emc Corporation Video file server maintaining sliding windows of a video data set in random access memories of stream server computers for immediate video-on-demand service beginning at any specified location
US5819298A (en) 1996-06-24 1998-10-06 Sun Microsystems, Inc. File allocation tables with holes
US6016553A (en) 1997-09-05 2000-01-18 Wild File, Inc. Method, software and apparatus for saving, using and recovering data
US6460055B1 (en) 1999-12-16 2002-10-01 Livevault Corporation Systems and methods for backing up data files
JP2002008676A (en) * 2000-06-23 2002-01-11 Nisshinbo Ind Inc Fuel cell separator and solid polymer type fuel cell
US6898686B1 (en) 2000-08-24 2005-05-24 International Business Machines Corporation Memory map adjustment to support the need of adapters with large memory requirements
US6961941B1 (en) 2001-06-08 2005-11-01 Vmware, Inc. Computer configuration for resource management in systems including a virtual machine
GB2378278B (en) 2001-07-31 2003-09-10 Sun Microsystems Inc Live memory snapshot
US7203939B2 (en) * 2002-06-04 2007-04-10 Mirapoint, Inc. Dense allocation for data storage
US6829688B2 (en) 2002-06-20 2004-12-07 International Business Machines Corporation File system backup in a logical volume management data storage environment
US6957362B2 (en) 2002-08-06 2005-10-18 Emc Corporation Instantaneous restoration of a production copy from a snapshot copy in a data storage system
US7039788B1 (en) 2002-10-28 2006-05-02 Sandisk Corporation Method and apparatus for splitting a logical block
DE10257444A1 (en) 2002-12-09 2004-07-15 Fujitsu Siemens Computers Gmbh Data backup procedures
US6959374B2 (en) * 2003-01-29 2005-10-25 Sun Microsystems, Inc. System including a memory controller configured to perform pre-fetch operations including dynamic pre-fetch control
US7372873B1 (en) 2003-06-27 2008-05-13 Zoran Corporation Reconstructing a partial transport stream
US7398285B2 (en) 2003-07-30 2008-07-08 International Business Machines Corporation Apparatus and system for asynchronous replication of a hierarchically-indexed data store
US7475186B2 (en) 2003-10-31 2009-01-06 Superspeed Software System and method for persistent RAM disk
US8516179B2 (en) 2003-12-03 2013-08-20 Digital Rna, Llc Integrated circuit with coupled processing cores
EP1779245B1 (en) 2004-07-20 2018-06-13 Microsoft Technology Licensing, LLC Method and system for minimizing loss in a computer application
US7464103B2 (en) * 2004-10-29 2008-12-09 Microsoft Corporation Multi-level nested open hashed data stores
US20060117133A1 (en) 2004-11-30 2006-06-01 Crowdsystems Corp Processing system
KR100652715B1 (en) 2005-02-28 2006-12-01 엘지전자 주식회사 Method and apparatus of application program dynamic loading for mobile phone
US7457910B2 (en) 2005-06-29 2008-11-25 Sandisk Corproation Method and system for managing partitions in a storage device
US20070033356A1 (en) 2005-08-03 2007-02-08 Boris Erlikhman System for Enabling Secure and Automatic Data Backup and Instant Recovery
US7827345B2 (en) 2005-08-04 2010-11-02 Joel Henry Hinrichs Serially interfaced random access memory
JP4961781B2 (en) 2006-03-14 2012-06-27 ソニー株式会社 Information processing apparatus, its activation method, and program
US7676628B1 (en) * 2006-03-31 2010-03-09 Emc Corporation Methods, systems, and computer program products for providing access to shared storage by computing grids and clusters with large numbers of nodes
US8296758B2 (en) 2006-09-20 2012-10-23 Sap Ag Deployment and versioning of applications
US7865877B2 (en) * 2006-12-13 2011-01-04 International Business Machines Corporation Computer method and apparatus for referencing files in a software configuration management system
US20080270719A1 (en) 2007-04-30 2008-10-30 Cochran Robert A Method and system for efficient snapshot operations in mass-storage arrays
US8452927B2 (en) * 2008-01-02 2013-05-28 Sandisk Technologies Inc. Distributed storage service systems and architecture
US20090222509A1 (en) * 2008-02-29 2009-09-03 Chao King System and Method for Sharing Storage Devices over a Network
US7873619B1 (en) * 2008-03-31 2011-01-18 Emc Corporation Managing metadata
US10901908B2 (en) 2019-01-16 2021-01-26 International Business Machines Corporation Storing data into a memory

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040158834A1 (en) * 2003-02-06 2004-08-12 International Business Machines Corporation Apparatus and method for dynamically allocating resources of a dead logical partition
CN1957414A (en) * 2004-05-10 2007-05-02 松下电器产业株式会社 Data recording/reproduction for write-once discs
CN101059982A (en) * 2004-07-30 2007-10-24 三星电子株式会社 Storage medium including metadata and reproduction apparatus and method therefor

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102855091A (en) * 2012-08-09 2013-01-02 上海卫星工程研究所 Method and device for segmenting and dynamically distributing data transfer data storage space
CN106534753A (en) * 2015-09-15 2017-03-22 船井电机株式会社 Recording and reproducing apparatus
CN106534753B (en) * 2015-09-15 2019-08-20 船井电机株式会社 Recorder

Also Published As

Publication number Publication date
WO2010088148A2 (en) 2010-08-05
CN102232214B (en) 2014-09-03
EP2409233A2 (en) 2012-01-25
US8738621B2 (en) 2014-05-27
KR20110088537A (en) 2011-08-03
US20100191779A1 (en) 2010-07-29
MX2011004883A (en) 2011-05-30
WO2010088148A3 (en) 2010-10-28
CA2749918C (en) 2016-10-04
CA2749918A1 (en) 2010-08-05
EP2409233A4 (en) 2016-11-23
KR101313482B1 (en) 2013-10-01

Similar Documents

Publication Publication Date Title
CN102232214B (en) Systems and methods for managing files on a storage device
CN102687507B (en) Systems and method for selective archival of media content
CN1189889C (en) Recording/playing device and content management method
US9191610B2 (en) Systems and methods for creating logical media streams for media storage and playback
US20070226767A1 (en) Managing time shift buffers
US20100297933A1 (en) Data providing device
KR20040013854A (en) Video recording/reproducing apparatus and control method of memory device of thereof
KR20080072201A (en) Digital device capable of memory formatting and method for memory format, digital device having a function of storing and method for storing
US7519272B2 (en) Video and audio data recording and/or reproducing apparatus having lock setting function and control method thereof
CN101098434A (en) Video recording/reproducing apparatus and video recording/reproducing method
CN101416506B (en) Content processing apparatus, content processing method, and program
US20100211655A1 (en) Assembly comprising a handheld device
CA2995390C (en) Apparatus, systems and methods for distribution of addressable content
KR20040072757A (en) Apparatus and method displaying used file area and the memory area divided according to file attribute
JP2009194409A (en) Multimedia server system and tank server used therefor
KR20040080655A (en) Video and audio data recording/reproducing apparatus having the function of lock setting and control method thereof
JP2014090296A (en) Recording management device and recording management system
JP2009194410A (en) Media server
KR20060027385A (en) Video and audio data recording/reproducing apparatus having the function of lock setting and control method thereof

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CP01 Change in the name or title of a patent holder
CP01 Change in the name or title of a patent holder

Address after: American Colorado

Patentee after: DISH Technologies LLC

Address before: American Colorado

Patentee before: ECHOSTAR TECHNOLOGIES LLC