CN102232214A - Systems and methods for managing files on a storage device - Google Patents
Systems and methods for managing files on a storage device Download PDFInfo
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
- G06F3/0674—Disk device
- G06F3/0676—Magnetic disk device
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/06—Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/17—Details of further file system functions
- G06F16/1727—Details of free space management performed by the file system
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/953—Querying, e.g. by the use of web search engines
- G06F16/9535—Search customisation based on user profiles and personalisation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0604—Improving or facilitating administration, e.g. storage management
- G06F3/0605—Improving or facilitating administration, e.g. storage management by facilitating the interaction with a user or administrator
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0608—Saving storage space on storage systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0638—Organizing or formatting or addressing of data
- G06F3/0643—Management of files
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0683—Plurality of storage devices
- G06F3/0689—Disk arrays, e.g. RAID, JBOD
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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
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.
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.
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
The table #3----be used for name space " individual " FAT and through the translation physical address
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
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.
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.
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.
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)
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)
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)
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)
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 |
-
2009
- 2009-01-27 US US12/360,608 patent/US8738621B2/en active Active
-
2010
- 2010-01-22 CA CA2749918A patent/CA2749918C/en active Active
- 2010-01-22 MX MX2011004883A patent/MX2011004883A/en active IP Right Grant
- 2010-01-22 EP EP10736263.4A patent/EP2409233A4/en not_active Withdrawn
- 2010-01-22 KR KR1020117012130A patent/KR101313482B1/en active IP Right Grant
- 2010-01-22 WO PCT/US2010/021750 patent/WO2010088148A2/en active Application Filing
- 2010-01-22 CN CN201080003212.5A patent/CN102232214B/en active Active
Patent Citations (3)
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)
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 |