JP5715964B2 - Managing downloadable files - Google Patents
Managing downloadable files Download PDFInfo
- Publication number
- JP5715964B2 JP5715964B2 JP2011554108A JP2011554108A JP5715964B2 JP 5715964 B2 JP5715964 B2 JP 5715964B2 JP 2011554108 A JP2011554108 A JP 2011554108A JP 2011554108 A JP2011554108 A JP 2011554108A JP 5715964 B2 JP5715964 B2 JP 5715964B2
- Authority
- JP
- Japan
- Prior art keywords
- file
- discardable
- storage
- storage device
- storage system
- 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.)
- Expired - Fee Related
Links
- 238000000034 method Methods 0.000 claims description 121
- 238000004891 communication Methods 0.000 claims description 16
- 230000001413 cellular effect Effects 0.000 claims description 5
- 230000000873 masking effect Effects 0.000 claims 2
- 238000006243 chemical reaction Methods 0.000 description 38
- 230000008569 process Effects 0.000 description 15
- 238000007726 management method Methods 0.000 description 12
- 238000010586 diagram Methods 0.000 description 8
- 230000006870 function Effects 0.000 description 7
- 238000011084 recovery Methods 0.000 description 7
- 230000008859 change Effects 0.000 description 4
- 230000004044 response Effects 0.000 description 4
- 230000009471 action Effects 0.000 description 3
- 230000003111 delayed effect Effects 0.000 description 3
- 238000011156 evaluation Methods 0.000 description 3
- 230000009286 beneficial effect Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 235000013861 fat-free Nutrition 0.000 description 2
- 238000007429 general method Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 230000001737 promoting effect Effects 0.000 description 2
- 238000000638 solvent extraction Methods 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 238000013519 translation Methods 0.000 description 2
- 101000824318 Homo sapiens Protocadherin Fat 1 Proteins 0.000 description 1
- 101000824299 Homo sapiens Protocadherin Fat 2 Proteins 0.000 description 1
- 125000002066 L-histidyl group Chemical group [H]N1C([H])=NC(C([H])([H])[C@](C(=O)[*])([H])N([H])[H])=C1[H] 0.000 description 1
- 102100022095 Protocadherin Fat 1 Human genes 0.000 description 1
- 102100022093 Protocadherin Fat 2 Human genes 0.000 description 1
- 230000003213 activating effect Effects 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000000903 blocking effect Effects 0.000 description 1
- 230000006835 compression Effects 0.000 description 1
- 238000007906 compression Methods 0.000 description 1
- 230000001010 compromised effect Effects 0.000 description 1
- 239000012141 concentrate Substances 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 239000012634 fragment Substances 0.000 description 1
- 238000009499 grossing Methods 0.000 description 1
- 238000007689 inspection Methods 0.000 description 1
- 239000003550 marker Substances 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 230000008439 repair process Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
-
- 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/957—Browsing optimisation, e.g. caching or content distillation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
-
- 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/1737—Details of further file system functions for reducing power consumption or coping with limited storage space, e.g. in mobile devices
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Quality & Reliability (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Information Transfer Between Computers (AREA)
Description
本発明は、一般的には記憶装置に関し、特に記憶装置においてファイルを管理する方法および装置に関する。 The present invention relates generally to storage devices, and more particularly to a method and apparatus for managing files in a storage device.
優先権主張
本願は、2009年3月10日に出願された米国仮特許出願第61/159,034号(特許文献1)(係属中)および2009年11月9日に出願された米国仮特許出願第61/259,418号(特許文献2)(係属中)の両方の利益を主張し、その各々の全体が本願明細書において参照により援用されている。
PRIORITY CLAIM This application is March 10, 2009 to No. filed US Provisional Patent Application No. 61 / 159,034 (Patent Document 1) (pending) and US provisional patent filed on November 9, 2009 The claims of both applications 61 / 259,418 (patent document 2) (pending) are claimed, each of which is incorporated herein by reference in its entirety.
不揮発性記憶装置の使用は、それらが携帯可能で物理的サイズが小さく記憶容量が大きいので、長年にわたって急速に拡大してきている。いろいろなデザインの記憶装置が存在する。或る記憶装置は「埋め込まれている」と見なされるが、それは、それらが協同するホスト装置からユーザによって取り外すことができないし、また取り外すように意図されてもいないということを意味する。他の記憶装置は取り外し可能であるが、それは、ユーザがそれらを1つのホスト装置から(例えば、デジタルカメラから)他のホスト装置へ移すことができるか、あるいは1つの記憶装置を他の記憶装置と取り替えることができるということを意味する。 The use of non-volatile storage devices has been expanding rapidly over the years because they are portable, have a small physical size and a large storage capacity. There are storage devices of various designs. Some storage devices are considered “embedded”, which means that they cannot be removed by a user from a cooperating host device and are not intended to be removed. Other storage devices are removable, but it allows the user to move them from one host device (eg, from a digital camera) to another host device, or one storage device to another storage device Means that it can be replaced.
記憶装置に格納されているデジタルコンテンツは、記憶装置のホストから生じたものであり得る。例えば、代表的なホストであるデジタルカメラは、画像を捉えて、それらを対応するデジタルデータに変換する。デジタルカメラは、次にそのデジタルデータを、そのデジタルカメラと協同する記憶装置に格納する。記憶装置に格納されているデジタルコンテンツは、リモートソースから生じたものでもあり、それは、例えばデータネットワーク(例えば、インターネット)または通信ネットワーク(例えば、セルラー電話ネットワーク)を介して記憶装置のホストに送られ、その後にホストによって記憶装置にダウンロードされ得る。リモートソースは、例えば、サービスプロバイダまたはコンテンツプロバイダであり得る。サービスプロバイダおよびコンテンツプロバイダは、以降、一まとめに「発行者」と称される。 The digital content stored in the storage device may originate from the storage device host. For example, a digital camera that is a representative host captures images and converts them into corresponding digital data. The digital camera then stores the digital data in a storage device that cooperates with the digital camera. The digital content stored in the storage device also originates from a remote source, which is sent to the storage device host via, for example, a data network (eg, the Internet) or a communication network (eg, a cellular telephone network). Can then be downloaded to the storage device by the host. The remote source can be, for example, a service provider or a content provider. The service provider and the content provider are hereinafter collectively referred to as “issuer”.
モバイルハンドセット内の記憶装置の容量および能力が大きくなるにつれて、オンザゴー(on the go) でのコンテンツ取得および消費のための新しいシナリオが利用可能になる。通例、ハンドセットは、オペレータ制御されるサーバ、アップルのiTunesサービスなどのマーケットアプリケーションからダウンロードされ、またサンディスク コーポレイションのslotMediaカードなどのソースからサイドロードされた映画および音楽を消費するために使用され得る。しかし、これらの応用例の全てにおいて、ユーザは、先を見越して、自分が消費したいコンテンツを探し、そのコンテンツの取得を提示して権限を受け、そのコンテンツを取得し、その後にそれを消費しなければならない。これは、コンテンツのオーナーがコンテンツを即時消費のために提供する能力を低下させると共に、ユーザが自分の取得するものを、それがダウンロードするのを待つことなく、即座に見るという能力を低下させる。 As the capacity and capacity of storage devices in mobile handsets grows, new scenarios for on-the-go content acquisition and consumption will become available. Typically, handsets can be used to consume movies and music downloaded from operator controlled servers, market applications such as Apple's iTunes service, and sideloaded from sources such as SanDisk Corporation's slotMedia cards. However, in all of these applications, the user proactively searches for the content he wants to consume, presents the acquisition of that content, is authorized, acquires that content, and then consumes it There must be. This reduces the ability of the content owner to provide the content for immediate consumption, as well as the ability for the user to see what he gets without waiting for it to download.
コンテンツをユーザにプリロードすることを中心として、多数の製品構想が考案されているけれども、それらは全て1つの共通の欠点を持っていて、ユーザは、コンテンツを格納するために自分自身の記憶容量を犠牲にしなければならないのに、コンテンツに、それを購入するまでは、アクセスすることができない。この容量を購入しなければならないユーザは、普通、自分たちが実際には使用できないコンテンツに割り当てられているものの相当の部分は見たいとは思わない。 Although many product concepts have been devised around preloading content to the user, they all have one common drawback, and the user has to save his or her own storage capacity to store the content. You have to sacrifice, but you can't access the content until you purchase it. Users who have to purchase this capacity typically do not want to see a significant portion of what is allocated to content that they cannot actually use.
記憶装置のユーザは、発行者からメディアコンテンツあるいは広告を要求することによってメディアコンテンツおよび広告を自発的にダウンロードすることができる。しかし、時には、発行者は、自分たちの収入を増やそうとして、ユーザの許可を求めずに、さらに時にはユーザがそのようなコンテンツが自分の記憶装置にダウンロードされたことに気づかずに、コンテンツをユーザに送る。発行者がユーザの同意を得ずにユーザに送るコンテンツは、ここでは「非請求コンテンツ」と称される。しばしば、非請求コンテンツは、発行者に料金を支払った後あるいは支払うと約束した後に、ユーザにより消費されるように意図される。 A user of the storage device can voluntarily download the media content and advertisement by requesting the media content or advertisement from the publisher. However, sometimes publishers try to increase their income without asking for user permission, and sometimes users do not realize that such content has been downloaded to their storage device. Send to user. The content that the issuer sends to the user without obtaining the user's consent is referred to herein as “unsolicited content”. Often, unsolicited content is intended to be consumed by the user after paying or promising to pay the issuer.
非請求コンテンツをユーザの記憶装置にダウンロードすることにより、発行者は、ユーザが結局その非請求コンテンツを料金と引き換えに消費し、自分たちの収入が増えることを望む。非請求コンテンツをユーザの同意を求めずに記憶装置に格納し、ユーザがそれらのコンテンツを料金と引き換えに消費することを望むという発行者の業務は、メディア発行分野では「予測委託販売(predictive consignment)」として知られている概念である。しかし、非請求コンテンツは、記憶装置のユーザが、それが存在することを知らないで、それを消費することを望まないのに、記憶装置に格納されたままになることがある。非請求コンテンツを記憶装置に格納すれば、記憶装置上の利用可能な(すなわち、空いている)ユーザ記憶スペースが減り、それはユーザの見地からは望ましくない。他の誰か(すなわち、或る発行者)が記憶装置上の記憶スペースの一部を占拠したためにユーザ自身のコンテンツ(例えば、音楽ファイル)のための記憶装置内のスペースが少なくなっていること、あるいは非請求コンテンツを削除することによってそのように占拠されている記憶スペースを回収しなければならないかも知れないということにユーザが気づくかも知れない。 By downloading unsolicited content to the user's storage device, the issuer wants the user to eventually consume the unsolicited content in exchange for a fee and increase their revenue. The issue of publishers that store unsolicited content in storage without asking for user consent and that the user wants to consume that content in return for a fee is the “predictive consignment” in the media publishing field. ) ". However, unsolicited content may remain stored on the storage device even though the user of the storage device does not know that it exists and does not want to consume it. Storing unsolicited content in the storage device reduces the available (ie, free) user storage space on the storage device, which is undesirable from the user's perspective. There is less space in the storage for the user's own content (eg, music files) because someone else (ie, an issuer) has occupied some of the storage space on the storage device; Alternatively, the user may notice that the storage space so occupied may have to be recovered by deleting unsolicited content.
ユーザの記憶スペースの部分を占拠するという問題に対する1つの部分的な解決策として、発行者のウェブサイトをブロックすることなどにより、記憶装置への発行者のアクセスをブロックすることが挙げられる。この解決策は、ユーザには満足なものであるかも知れないけれども、発行者の見地からは、発行者の売り上げが減って潜在的な収入源を失うことになるから問題である。この問題に対する他の1つの部分的な解決策として、コンテンツをホストに発行し(すなわち、コンテンツファイルをこれらのホストの記憶装置に格納し)、コンテンツを、それが無意味になったら、除去することが挙げられる。換言すれば、コンテンツをもたらした発行者は、その格納されている非請求コンテンツを、コンテンツが無意味になったら、その記憶装置から除去する。非請求コンテンツは、その消費のための時間が経過したならば、あるいはユーザがそれを消費しそうもないという表示があるとき、無意味であると見なされる。 One partial solution to the problem of occupying a portion of the user's storage space is to block the publisher's access to the storage device, such as by blocking the publisher's website. While this solution may be satisfactory to the user, it is a problem from the issuer's point of view because the issuer's sales will be reduced and potential revenue sources will be lost. Another partial solution to this problem is to publish content to hosts (i.e. store content files in their host storage) and remove the content when it becomes meaningless. Can be mentioned. In other words, the publisher that brought the content removes the stored unsolicited content from its storage device when the content becomes meaningless. Unsolicited content is considered meaningless if the time for its consumption has elapsed or when there is an indication that the user is unlikely to consume it.
従って、ユーザがペナルティなしに自分のストレージを自由に使え、同時にコンテンツのオーナーがコンテンツをハンドセットに売り込めるように、ハンドセットのストレージを賢く管理する新技術が必要とされている。従って、別の言い方をすれば、非請求ファイルに伴う問題を処理する必要がある。具体的には、発行者は、自分のビジネスを行う過程で記憶装置への非請求コンテンツのダウンロードを遂行することを許されるべきであるが、そのダウンロードはユーザの体験を思いとどまらせるような決定的な影響を及ぼすべきではない。 Therefore, there is a need for a new technology that intelligently manages handset storage so that users can freely use their storage without penalties, while content owners can sell content to the handset. Therefore, in other words, it is necessary to deal with problems associated with unsolicited files. Specifically, publishers should be allowed to carry out unsolicited content downloads to storage devices in the course of their business, but that download is decisive to discourage the user experience. It should not have any influence.
従って、非請求ファイルを、それらを記憶装置に収容するために必要とされる記憶スペースがユーザのファイルのために必要とされない間、記憶装置に格納することができて、ユーザファイルのために最小サイズの空き記憶スペースを保証するために記憶装置から非請求ファイルを除去することができれば有益である。種々の実施形態が、そのようなファイル管理を実行するように設計され、その例がここに提供されている。 Thus, unsolicited files can be stored in the storage device while the storage space required to accommodate them in the storage device is not required for the user's files, and minimal for user files It would be beneficial to be able to remove unsolicited files from the storage device to guarantee free storage space of size. Various embodiments are designed to perform such file management, examples of which are provided here.
前述したことを処理するために記憶装置に格納されているファイルあるいは格納されるべきファイルは、記憶装置と関連付けられているファイルシステムの構造において非廃棄可能または廃棄可能とマーキングされる。各々のマーキングされたファイルは、廃棄優先レベルと関連付けられている。新しい発行者のファイル(すなわち、非請求ファイル)は、それを記憶装置に格納してもユーザファイルのために確保されているストレージ使用安全マージンが所望マージンを超えて狭まらない場合に限って、記憶装置に格納されることを許可される。一方、ユーザファイルは、それらを格納するとストレージ使用安全マージンが所望幅を超えて狭まるとしても、記憶装置に格納されることを許される。しかし、そのような場合には、ストレージ使用安全マージンの所望幅は、1つ以上の廃棄可能ファイルを記憶装置から除去することによって、回復される。廃棄可能ファイルは、その廃棄優先レベルが所定の廃棄しきい値と同等またはそれより高い(またはここで説明されるように、より低い)場合に、記憶装置から除去される。 A file stored or to be stored in a storage device to handle the foregoing is marked as non-disposable or disposable in the structure of the file system associated with the storage device. Each marked file is associated with a discard priority level. A new issuer's file (ie, an unsolicited file) only if the storage usage safety margin reserved for the user file does not narrow beyond the desired margin when it is stored in storage Allowed to be stored in the storage device. On the other hand, storing user files is allowed to be stored in the storage device even if the storage use safety margin is narrowed beyond the desired width. However, in such a case, the desired width of the storage usage safety margin is restored by removing one or more disposable files from the storage device. A discardable file is removed from storage when its discard priority level is equal to or higher than a predetermined discard threshold (or lower, as described herein).
ダウンロードマネージャは、或るインプリメンテーションではストレージアロケータの一部であり、それらの両方がホスト、記憶装置、またはその両方の組み合わせの中に存在し、ダウンロードマネージャは、記憶装置の記憶領域への廃棄可能のもののダウンロードを1つ以上のダウンロード条件に基づいて管理する。記憶装置の記憶領域にファイルを格納する要求が受け取られ、ファイルは、廃棄可能なファイルであって、記憶装置と関連付けられているデータ構造においてデータと関連付けられている。或るインプリメンテーションでは、データ構造は、記憶装置と関連付けられているファイルシステム構造を含むことができる。ファイルは、廃棄可能なファイルとマーキングされる。或るインプリメンテーションでは、廃棄可能ファイルと関連付けられているデータ構造のファイルシステム構造は、ファイルが廃棄可能ファイルであることを示すようにマーキングされる。他のインプリメンテーションでは、ファイル自体が廃棄可能ファイルとマーキングされる。 The download manager is part of the storage allocator in some implementations, both of which reside in the host, storage device, or a combination of both, and the download manager is discarded into the storage area of the storage device. Manage possible downloads based on one or more download conditions. A request to store a file in a storage area of a storage device is received and the file is a discardable file and is associated with data in a data structure associated with the storage device. In some implementations, the data structure can include a file system structure associated with the storage device. The file is marked as a discardable file. In some implementations, the file system structure of the data structure associated with the discardable file is marked to indicate that the file is a discardable file. In other implementations, the file itself is marked as a discardable file.
ダウンロードマネージャは、廃棄可能ファイルを記憶装置の記憶領域に格納する要求と関連付けられているダウンロード条件を判定し、ダウンロードマネージャは、その判定されたダウンロード条件に基づいて、記憶装置への廃棄可能ファイルのダウンロードを遅延させるか否かを決定する。ダウンロードマネージャは、廃棄可能ファイルの記憶装置へのダウンロードを、廃棄可能ファイルの記憶装置へのダウンロードを遅延させるか否かの決定に基づいて、管理する。或るインプリメンテーションでは、ダウンロードマネージャは、ダウンロード条件と関連付けられているパラメータが満たされるまで記憶装置への廃棄可能ファイルのダウンロードを遅延させることができる。ダウンロードマネージャを包含し得るストレージアロケータは、その後、ダウンロードされた廃棄可能ファイルの記憶装置の記憶領域における記憶を、ファイルのマーキングが廃棄可能ファイルであることに基づいて管理する。 The download manager determines a download condition associated with the request to store the discardable file in the storage area of the storage device, and the download manager determines the discardable file to the storage device based on the determined download condition. Decide whether to delay the download. The download manager manages the download of the discardable file to the storage device based on the decision whether to delay the download of the discardable file to the storage device. In some implementations, the download manager can delay the download of the discardable file to the storage device until the parameters associated with the download conditions are met. A storage allocator that can include a download manager then manages the storage of the downloaded discardable file in the storage area of the storage device based on the marking of the file being a discardable file.
種々の代表的な実施形態が、それらの例が限定的でないという意図を持って、添付の図面に示されている。図を簡略化することを目的として、以下で参照され、図に示されている構成要素は必ずしも一定比率で描かれていないということを理解すべきである。また、適切であると考えられる場合には、同様の、対応する、あるいは類似する構成要素を示すために参照数字が図で反復されることがある。添付図面は次のとおりである。 Various representative embodiments are illustrated in the accompanying drawings with the intention that the examples are not limiting. For the purpose of simplifying the figure, it should be understood that the components referred to below and shown in the figure are not necessarily drawn to scale. Also, where considered appropriate, reference numerals may be repeated in the figures to indicate similar, corresponding or similar components. The attached drawings are as follows.
次の記述は代表的な実施形態の種々の詳細事項を提供する。しかし、この記述は、特許請求の範囲を限定するように意図されてはいなくて、本発明の種々の原理と、その実施方法とを説明するように意図されている。 The following description provides various details of representative embodiments. However, this description is not intended to limit the scope of the claims, but is intended to illustrate various principles of the invention and how it may be implemented.
非請求コンテンツおよび関連する問題を処理するために、ユーザファイルには他のファイルにまさるストレージ優先権が与えられ、その優先権を保証するためにストレージ使用安全マージンが維持される。「ユーザファイル」とは、記憶装置のユーザが進んで格納したか、あるいはそれを記憶装置に格納することを承認したファイルである。例えば、ユーザが自分の記憶装置にダウンロードする音楽ファイルはユーザファイルと考えられる。ユーザにより格納されるように要求されたかあるいは承認されているので、ユーザファイルは「請求」ファイルと考えられる。 To handle unsolicited content and related issues, user files are given storage priority over other files, and a storage usage safety margin is maintained to guarantee that priority. The “user file” is a file that has been stored by the user of the storage device or approved to be stored in the storage device. For example, a music file that a user downloads to his / her storage device is considered a user file. A user file is considered a “billing” file because it has been requested or approved to be stored by the user.
「その他ファイル」は、ここでは「発行者ファイル」および「非請求ファイル」と称される。「発行者ファイル」は、ユーザがそれを要求していなくて、少なくとも暫時ではなくそれに気づいていないのに記憶装置に格納されているファイルである。ユーザは、非請求ファイルを使用することを望まないかも知れない。使用されない非請求ファイルは、ユーザの記憶装置の高価な記憶スペースを消費しがちである。従って、ここで開示される原理に従って、そのようなファイルは、それらを格納してもストレージ使用安全マージンが狭くならない場合に限って、記憶装置に格納されることを許される。ストレージ優先権は、将来のユーザのファイルのために確保される空き記憶スペース(すなわち、ストレージ使用安全マージン)を維持することによってユーザファイルに与えられる。ストレージ使用安全マージンは、必要なときあるいは望ましいときに常にユーザファイルを記憶装置に格納し得ることを保証するために、維持されなければならない。 The “other files” are referred to herein as “issuer file” and “unsolicited file”. The “issuer file” is a file stored in the storage device even though the user has not requested it and has not noticed it at least for a while. The user may not want to use an unsolicited file. Unused unsolicited files tend to consume expensive storage space on the user's storage device. Thus, in accordance with the principles disclosed herein, such files are allowed to be stored in the storage device only if storing them does not reduce the storage use safety margin. Storage priority is granted to user files by maintaining free storage space (ie, storage usage safety margin) reserved for future user files. A storage usage safety margin must be maintained to ensure that user files can be stored in the storage device whenever necessary or desirable.
何らかの理由でストレージ使用安全マージンが所望より狭くなったならば、ストレージ使用安全マージンを回復するために1つ以上の非請求ファイルが記憶装置から除去(すなわち、削除)される。ストレージ使用安全マージンを維持すれば、追加のユーザファイルが記憶装置にダウンロードされる場合に追加のユーザファイルのための記憶スペースが保証される。この目的のために、非請求ファイルは、ストレージファイルシステムの構造において「廃棄可能」とマーキングされ、必要ならば、少なくとも、ストレージ使用安全マージンを維持するために必要な空き記憶スペースを回収するために、後に除去される。 If for some reason the storage usage safety margin becomes narrower than desired, one or more unsolicited files are removed (ie, deleted) from the storage device to restore the storage usage safety margin. Maintaining a storage usage safety margin guarantees storage space for additional user files when additional user files are downloaded to the storage device. For this purpose, unsolicited files are marked as “disposable” in the structure of the storage file system and, if necessary, to recover at least the free storage space necessary to maintain the storage usage safety margin. Will be removed later.
ユーザが種々の廃棄可能ファイルを使用する確度は廃棄可能ファイルごとに異なり得るので、各非請求ファイル(すなわち、各廃棄可能ファイル)に、そのファイルを使用する確率、そのファイルの使用と関連付けられた予想収益、そのファイルのサイズ、そのファイルのタイプ、そのファイルの位置、そのファイルの古さ(age )などの1つ以上の基準に従って廃棄優先レベルが前もって割り当てられる。例えば、廃棄優先レベルは、収益の可能性により決定され得る。他の一例では、ユーザは普通は映画の予告編および広告を見たがらないので、映画の予告編あるいは広告は実際の映画より高い廃棄優先順位を有する。他の1つの例では、ユーザにより使用される可能性が最も高い1つ以上の廃棄可能ファイルには最低の廃棄優先レベルが割り当てられ、そのようなファイルは記憶装置から最も除去されそうもないファイルであることを意味する。換言すれば、廃棄可能ファイルの使用確率が高いほど、そのファイルに割り当てられる廃棄優先レベルのレベルは低い。1つ以上の廃棄可能ファイルが除去されても所望のストレージ使用安全マージンが充分に回復されなければ、所望のストレージ使用安全マージンが回復されるまで、さらなる廃棄可能ファイルが記憶装置から除去される。 The probability that a user will use different discardable files may vary from one discardable file to another, so each unsolicited file (ie, each discardable file) is associated with the probability of using that file, the use of that file A discard priority level is pre-assigned according to one or more criteria such as expected revenue, size of the file, type of the file, location of the file, age of the file. For example, the discard priority level can be determined by the revenue potential. In another example, a movie trailer or advertisement has a higher discard priority than an actual movie because users typically do not want to see movie trailers and advertisements. In another example, one or more disposable files that are most likely to be used by a user are assigned the lowest discard priority level, and such files are least likely to be removed from storage. It means that. In other words, the higher the use probability of a discardable file, the lower the level of discard priority assigned to that file. If the desired storage usage safety margin is not fully recovered when one or more discardable files are removed, additional discardable files are removed from the storage device until the desired storage usage safety margin is recovered.
簡単に言えば、ファイルシステムなどのデータ構造は、コンピュータファイルを格納し組織する方法を実行する。ファイルシステムは、データの格納、階層組織化、操作、ナビゲーション、アクセス、および検索のために実装される抽象データ型およびメタデータのセットを含む。抽象データ型およびメタデータは、それを通してコンピュータファイル(ここでは「データファイル」、あるいは簡単に「ファイル」とも称される)がアクセスされ、操作されおよび起動され得る「ディレクトリツリー」を形成する。「ディレクトリツリー」は、通例、ルートディレクトリとオプションのサブディレクトリとを含む。ディレクトリツリーは、1つ以上の「ディレクトリファイル」としてファイルシステムに格納される。ファイルシステムに含まれるメタデータおよびディレクトリファイルのセットは、ここでは「ファイルシステム構造」と称される。従って、ファイルシステムは、データファイルと、データファイルにアクセスすること、データファイルを操作すること、更新すること、削除すること、および起動することを容易にするファイルシステム構造とを含む。 Simply put, a data structure such as a file system implements a method for storing and organizing computer files. The file system includes a set of abstract data types and metadata that are implemented for data storage, hierarchical organization, manipulation, navigation, access, and retrieval. Abstract data types and metadata form a “directory tree” through which computer files (also referred to herein as “data files”, or simply “files”) can be accessed, manipulated and activated. A “directory tree” typically includes a root directory and optional subdirectories. The directory tree is stored in the file system as one or more “directory files”. The set of metadata and directory files included in the file system is referred to herein as the “file system structure”. Thus, the file system includes a data file and a file system structure that facilitates accessing, manipulating, updating, deleting, and activating the data file.
ファイルアロケーションテーブル(「FAT」)は、代表的なファイルシステムアーキテクチャである。FATファイルシステムは、DR−DOS、OpenDOS、MS−DOS、Linux、Windows(登録商標)などを含む種々のオペレーティングシステムに用いられる。FAT構造化ファイルシステムは、どの記憶領域が空いているかあるいは割り当てられているか、および各ファイルが記憶装置のどこに格納されているかに関する情報を集中させるテーブルを使用する。テーブルのサイズを制限するために、記憶スペースは、「クラスタ」と称される隣接するセクタのグループ内のファイルに割り当てられる。記憶装置が進化するにつれて、クラスタの最大数は大きくなり、クラスタを特定するために使われるビットの数は増大してきている。FATフォーマットのバージョンは、テーブルのビットの数から導出される。FAT12は12ビットを使用し、FAT16は16ビットを使用し、FAT32は32ビットを使用する。 The file allocation table (“FAT”) is a typical file system architecture. The FAT file system is used for various operating systems including DR-DOS, OpenDOS, MS-DOS, Linux, Windows (registered trademark), and the like. The FAT structured file system uses a table that concentrates information about which storage areas are free or allocated and where each file is stored on the storage device. In order to limit the size of the table, storage space is allocated to files in groups of adjacent sectors called “clusters”. As storage devices have evolved, the maximum number of clusters has increased and the number of bits used to identify a cluster has increased. The version of the FAT format is derived from the number of bits in the table. FAT12 uses 12 bits, FAT16 uses 16 bits, and FAT32 uses 32 bits.
他の1つのファイルシステムアーキテクチャはニューテクノロジーファイルシステム((「NTFS」)として知られている。現在、NTFSは、後のバージョンのWindows 2000、Windows XP、Windows Server 2003、Windows Server 2008、およびWindows Vistaを含むWindows NTの標準的なファイルシステムである。FAT32およびNTFSは、記憶装置100が備えることのできる代表的なファイルシステムである。
One other file system architecture is known as the New Technology File System ("NTFS"), currently NTFS is a later version of Windows 2000, Windows XP, Windows Server 2003,
図1は、代表的な記憶装置100を示す。記憶装置100は種々のタイプのファイル(例えば、音楽ファイル、ビデオファイルなど)を格納するための記憶領域110を含み、そのうちのいくつかはユーザファイルであり、他は発行者ファイルであり得る。記憶装置100は、データおよび制御線130を介して記憶領域110を管理するストレージコントローラ120も含む。ストレージコントローラ120は、ホストインターフェイス150を介してホスト装置140とも通信する。ホスト装置140は、専用ハードウェアあるいは汎用コンピューティングプラットフォームであり得る。
FIG. 1 shows a
記憶領域110は、例えば、NANDフラッシュタイプのものであり得る。ストレージコントローラ120は、例えば「読み出し」、「書き込み」および「消去」操作、ウェアレベリング(損耗平滑化)などを制御することと、ホスト140との通信を制御することとにより、記憶領域110へ/記憶領域110からのデータ転送およびホスト装置140へ/ホスト装置140からのデータ転送の全てを制御する。記憶領域110は、例えば、ユーザファイルおよび発行者のファイルと、許可されたホスト装置だけによって使用されることが許される保護データと、ストレージコントローラ120によって、内部でだけ使用されるセキュリティデータとを含むことができる。ホスト(例えば、ホスト140)は、記憶領域110に直接アクセスすることはできない。すなわち、例えば、ホスト140が記憶装置100からのデータを求めるかあるいは必要とするならば、ホスト140は、それをストレージコントローラ120から要求しなければならない。記憶装置100に格納されているデータファイルへのアクセスを容易にするために、記憶装置100はファイルシステム160を備えている。
The
記憶領域110は機能的に3つの部分、すなわちユーザ領域170、発行者領域180、および空き記憶スペース190に分けられている。ユーザ領域170は記憶領域110の中の、ユーザファイルが格納される記憶スペースである。発行者領域180は、記憶領域110の中の、発行者ファイルが格納される記憶スペースである。空き記憶スペース190は、記憶領域110の中の空の記憶スペースである。空き記憶スペース190は、ユーザファイルまたは発行者ファイルを収容するために使用され得る。ユーザファイルを空き記憶スペース190に格納すると、そのユーザファイルを収容している記憶スペースは、空き記憶スペース190から差し引かれてユーザ領域170に加えられる。同様に、発行者ファイルを空き記憶スペース190に格納すると、その発行者ファイルを収容している記憶スペースは、空き記憶スペース190から差し引かれて発行者領域180に加えられる。ユーザファイルまたは発行者ファイルが記憶領域110から除去(すなわち、削除)されると、その解放された記憶スペースは空き記憶スペース190に加えられる(戻る)。
The
空き記憶スペース190のサイズがそれを許すならば、記憶装置100のユーザは、ユーザファイルをホスト140から記憶領域110にダウンロードすることができる。そのダウンロードされたユーザファイルは空き記憶スペース190に格納され、前に説明したように、そのファイルを収容している記憶スペースは、空き記憶スペース190から差し引かれてユーザ領域170に加えられる。前に説明したように、ユーザファイルは他の(例えば、発行者)ファイルにまさる優先権を有し、その優先権を保証するために、所望のストレージ使用安全マージンがセットされ、必要ならば、以下で記載される方法で、回復される。
If the size of the
ホスト140は、空き記憶スペース190の回復を容易にするためのストレージアロケータ144を含む。ストレージアロケータ144は、ハードウェア、ファームウェア、ソフトウェアまたはそれらの任意の組み合わせであり得る。一般的に、ストレージアロケータ144は、ホスト140に伝送されたファイル(例えば、ファイル142)がユーザファイルであるのか、それとも発行者ファイルであるのかを判定し、それに応じて、その伝送されたファイルをマーキングする(すなわち、非廃棄可能ファイルあるいは廃棄可能ファイルとマーキングする)。
ホスト140に伝送されたファイル(例えば、ファイル142)が、例えばそのファイルがユーザファイルであるので、非廃棄可能であるとストレージアロケータ144が判定すれば、ストレージアロケータ144はそのファイルを記憶領域110に正規の方法で格納する。前に説明したように、記憶領域110の中の、非廃棄可能ファイルを収容する記憶スペースは、ユーザ領域170に加えられるか、あるいはその一部になる。しかし、ホスト140に伝送されたファイルが、例えばそれが発行者ファイルであるので、廃棄可能であるとストレージアロケータ144が判定すれば、ストレージアロケータ144はそのファイルを廃棄可能とマーキングする。或るインプリメンテーションでは、ファイルを廃棄可能とマーキングするために、ストレージアロケータ144は、ファイルシステム160内のファイルシステム構造を、ファイルが廃棄可能ファイルであることを示すようにマーキングするということを理解すべきである。他のインプリメンテーションでは、ファイルを廃棄可能とマーキングするために、ストレージアロケータ144はファイル自体を廃棄可能ファイルとマーキングする。空き記憶スペース190が所望のストレージ使用安全マージンより大きければ、ストレージアロケータ144は、そのマーキングされた廃棄可能ファイルをも空き記憶スペース190に格納し、前に説明したように、空き記憶スペース190の中の廃棄可能ファイルを収容する記憶スペースは空き記憶スペース190から差し引かれて(すなわち、空き記憶スペースが減じられて)発行者領域180に加えられる(この追加は、廃棄可能ファイル182として論理的に示されている)。
If the
前に説明したように、発行者ファイルがユーザにより使用される確度は発行者ファイルごとに異なり得るので、最小の使用確度を有する発行者ファイルは、記憶領域110からの除去についての第1の候補となる。従って、ファイルを非廃棄可能あるいは廃棄可能とマーキングするほか、ストレージアロケータ144は、廃棄可能ファイルが記憶領域110に格納される前に、それと同時に、あるいはその後に、各廃棄可能ファイルに廃棄優先レベルを割り当てる。
As previously described, the probability that an issuer file will be used by the user may vary from issuer file to issuer, so that the issuer file with the least use accuracy is the first candidate for removal from
ファイルを非廃棄可能または廃棄可能とマーキングすることにより、ストレージアロケータ144により廃棄優先レベルを割り当て、記憶装置100のファイルシステム160(またはそのイメージ)を使用することにより、ストレージアロケータ144は、記憶領域110内のユーザファイルおよび発行者ファイルの数、ならびにそれらのサイズおよび記憶領域110の中での論理位置も「認識する」。この情報(すなわち、ファイルの数、サイズおよび位置)を認識し、特に1つ以上のマーキングされているファイルに基づいて、ストレージアロケータ144は、記憶領域110と、記憶領域110における請求ファイルおよび非請求ファイルの記憶とを管理する。記憶領域110の管理あるいは記憶領域110におけるファイルの記憶の管理は、例えば、廃棄可能とマーキングされている1つ以上のファイルを選択的に除去することによるストレージ使用安全マージンの回復、廃棄可能とマーキングされている全てのファイルを除去することによる記憶領域の解放、およびより低い性能の記憶モジュールへのファイルのクラスタの再マッピングを含み得る。記憶領域110またはそれに格納されているファイルの管理は、記憶領域110またはそれに格納されているファイルの他の、追加の、あるいは代わりの態様の管理を含み得る。
By marking a file as non-disposable or discardable, the
ストレージアロケータ144は、各廃棄可能ファイルに割り当てられている廃棄レベルにより、将来のユーザファイルのために初めに確保されていた空き記憶スペースを回復するために(すなわち、所望のストレージ使用安全マージンを回復するために)廃棄可能ファイルが廃棄(すなわち、記憶領域110から削除または除去)され得るかあるいはされるべき順序をも認識する。従って、ユーザが新しいユーザファイルを記憶領域110に格納することを希望しているけれども、そのユーザファイルを収容する充分な空き記憶スペースがなければ(それは、ストレージ使用安全マージンが所望より狭いことを意味する)、ストレージアロケータ144は、所望のストレージ使用安全マージンが充分に回復されるまで、より大きな空き記憶スペースを取り戻すために(すなわち、空き記憶スペース190を拡張するために)廃棄可能ファイルを一つずつ反復して削除してゆくために、廃棄可能ファイルに割り当てられている廃棄優先レベルを使用する。前に説明したように、充分に回復されたストレージ使用安全マージンは、将来のユーザファイルのために充分な空き記憶スペースが確保されることを高い確率で保証する。格納されている廃棄可能ファイルをユーザがいつか使用することを望むかも知れないということが考慮され、従って廃棄可能ファイルは、そのファイルを収容している記憶スペースが新しいユーザファイルのために必要とされる場合に限って記憶装置から除去されるので、廃棄可能ファイルは、新しいユーザファイルを格納する要求を受け取ったことに応じて記憶装置100から除去されるかあるいは削除されるに過ぎない。ストレージアロケータ144は、ホスト140に埋め込まれるかあるいは組み込まれてよく、あるいはホスト140の外に(破線のボックス144’として示されている)および記憶装置100の外に存在してもよい。
The
ストレージアロケータ144は、記憶装置100のファイルシステムあるいは記憶装置100と関連付けられているファイルシステムの代表的なイメージを有する。ストレージアロケータ144は、ファイルを非廃棄可能あるいは廃棄可能とマーキングするため、かつ各廃棄可能ファイルに廃棄レベルを割り当てるために、記憶装置のファイルシステムイメージを使用する。一例では、ファイルシステムはFATを含み、この場合にはマーキングは、ファイルと関連付けられているFATエントリの未使用部分において1つ以上の未使用ビットをセットすることによって行われる。様々なファイルシステムが様々な構造を有するので、図6〜1と関連して以下で詳細に説明および記述するように、ファイルのマーキング(すなわち、非廃棄可能あるいは廃棄可能としての)および廃棄レベルの割り当ては、使用されるファイルシステム構造に適合させられる。
The
図2は、他の実施形態に従う携帯可能な記憶装置200のブロック図である。ストレージコントローラ220はストレージコントローラ120と同様に機能し、ストレージアロケータ244はストレージアロケータ144と同様に機能する。ストレージアロケータ244はハードウェア、ファームウェア、ソフトウェアあるいはそれらの任意の組み合わせであり得る。ストレージアロケータ244は内部でストレージコントローラ220と協力する。ファイルを記憶領域210に格納する、そのファイルが廃棄可能ファイルであるか否かのインジケーションを含む、ストレージ要求をストレージコントローラ220がホスト240から受け取るたびに、ストレージコントローラ220は、そのストレージ要求を、さらにそのファイルが廃棄可能か否かを、ストレージアロケータ244に知らせる。ストレージアロケータ244は、その後、記憶装置200と関連付けられているファイルシステムの構造においてそのファイルを非廃棄可能または廃棄可能とマーキングする。通例、ホスト240上で実行するアプリケーションは、ファイルを廃棄可能ファイルであると判定し、そのファイルが廃棄可能ファイルであることを示すフラグまたは他のインジケーションをストレージコントローラ220に送る。ホスト240上で実行するアプリケーションは、そのフラグまたは他のインジケーションを、ファイルを記憶装置に格納することを要求するためのストレージプロトコルの一部として送る。そのようなストレージプロトコルの例は、POSIXファイルシステム機能あるいはjava.ioクラスツリーの使用を含む。
FIG. 2 is a block diagram of a
新しいファイルが廃棄可能であるとストレージアロケータ244が判定すると、ストレージアロケータ244は、その新しいファイルに、ファイルの使用確率に応じて廃棄優先レベルを割り当てる。その後、ストレージアロケータ244は、空き記憶スペース290の現在のサイズを評価し、その新しいファイルのための空間を作るために1つ以上の廃棄可能ファイルが記憶領域210から除去(すなわち、削除)されるべきかを決定する。1つまたは複数のファイルが記憶装置から除去されるべきであれば、ストレージアロケータ244は、どのファイルが除去についての現在の候補ファイルであるかを決定する。その後、ストレージアロケータ244は、記憶領域210から除去されるべき廃棄可能ファイルをストレージコントローラ220に知らせ、この知らせに応じて、ストレージコントローラ220は、ストレージアロケータ244により示された1つまたは複数の廃棄可能ファイルを除去する。携帯可能な記憶装置220の或る構成では、ストレージアロケータ244は機能的にストレージコントローラ220と記憶領域210との間に配置され得る。ストレージアロケータ244が機能的にストレージコントローラ220と記憶領域210との間に配置される構成では、ストレージアロケータ244または記憶領域210はストレージコントローラ220の機能のいくつかを引き受けなければならない。そのような構成では記憶領域210は、フラッシュNANDプロトコルより高いレベルで通信するメモリユニットから構成される。
When the
図3は、一実施形態に従うストレージアロケータ300のブロック図である。ストレージアロケータ300は、メモリユニット310、プロセッサ320、およびインターフェイス330を含む。メモリユニット310は、記憶装置(例えば、図2の記憶装置200)と関連付けられているファイルシステム構造またはファイルシステム構造のイメージを収容することができる。プロセッサ320は、記憶装置と関連付けられているファイルシステムを管理する。インターフェイス330は、図1に示されているようにホストと、さらに記憶装置のストレージコントローラと、あるいは図2に示されているように記憶装置のストレージコントローラだけと協力するように適合させられ得る。
FIG. 3 is a block diagram of a
プロセッサ320は、記憶装置の記憶領域にファイルを格納する要求をインターフェイス330を介して受け取り、ストレージアロケータ300と協同する記憶装置と関連付けられているファイルシステムの構造においてファイルを廃棄可能または非廃棄可能とマーキングするように構成されるかあるいは適合させられる。インターフェイス330が図2のストレージコントローラ220に機能的に付属させられているならば(従って、例えば、ファイルレベルのコマンドではなくてSCSIコマンドまたはラップされたUSB/MSCコマンドを受け取るならば)、受け取られた要求はファイルレベルより遥かに低いレベルにある。すなわち、受け取られた要求は、ホストにより適切に解釈されるとファイルに対応することになる論理ブロックアドレスにセクタを格納する要求である。ストレージコントローラ220がNVMHCIプロトコル、またはNFSもしくは類似のプロトコルなどのネットワーキングファイルシステムプロトコルをサポートするならば、ストレージコントローラ220はファイルレベルの要求を受け取ることができる。従って、ストレージコントローラ220などのストレージコントローラとインターフェイス330などのインターフェイスとの間の通信は、NVMHCIあるいはNVMHCIのようなインプリメンテーションに限定されない。通信インターフェイス330は、図3に示されているように、ストレージアロケータ300に不可欠のものであり得る。
The
プロセッサ320は、マーキングされたファイルを記憶装置に送るようにさらに構成されるかあるいは適合させられ、ファイルを廃棄可能とマーキングすることは、そのファイルに廃棄優先レベルを割り当てることを含む。記憶装置により使用されるファイルシステムがFATベースであるならば、プロセッサ320は、マーキングされたファイルに廃棄優先レベルを、そのマーキングされたファイルに対応するFAT内のm個の最上(すなわち、最上位)のビット(例えば、m=4)に、対応する値をセットすることによって、割り当てる。FATエントリ内の最上位ビットにセットされるその対応する値、あるいはNTFSディレクトリのエントリにセットされる値、もしくはそれは、ファイルの属性に関連付けられ得る。「属性」は、FATテーブルまたはNTFSテーブルのヘッダの中の、テーブルに格納されているコンテンツのタイプに関係する情報を包含するメタデータタグあるいは何らかのデータ構造を意味する。「広告」、「プレミアムコンテンツ」、および「販売促進(無料)コンテンツ」は、FATテーブルあるいはNTFSテーブルに格納され得るコンテンツの代表的なタイプである。廃棄レベルをセットするための代わりの基準は、例えば、最後にアクセスされたファイル、ファイルのサイズ、ファイルのタイプなどである。
The
ファイルをマーキングするために専用されるFAT32エントリの最上位ビットの数mは4または4未満であり得る。なぜならば、これらのビットが使用されていないからである。さらに、より多くのビットが使用されれば、より多くの廃棄優先レベルが使用され得る。例えば、3ビット(すなわち、m=3)を使用すれば8(23 =8)個の廃棄優先レベルが提供され、4ビット(すなわち、m=4)を使用すれば16(24 =16)個の廃棄優先レベルが提供される(すなわち、廃棄優先レベル「0」を含み、これは非廃棄可能ファイルに割り当てられる)。換言すれば、プロセッサ320は、m個の最上位ビットの値を、マーキングされるファイルが非廃棄可能であれば0にセットし、マーキングされるファイルが廃棄可能であれば1と2m −1との間の値にセットする。廃棄優先レベルは、マーキングされているファイルが記憶装置から廃棄され得るかあるいは廃棄されるべき優先順位を示す。例えば、インプリメンテーションによっては、値「1」は最低の優先順位あるいは最高の優先順位で廃棄可能であるファイルを示すことができ、値「2m −1」は最高の優先順位あるいは最低の優先順位で廃棄可能であるファイルをそれぞれ示すことができる。
The number m of the most significant bits of the FAT32 entry dedicated to marking the file may be 4 or less. This is because these bits are not used. Furthermore, if more bits are used, more discard priority levels can be used. For example, using 3 bits (ie, m = 3) provides 8 (2 3 = 8) discard priority levels, and using 4 bits (ie, m = 4) provides 16 (2 4 = 16). ) Discard priority levels are provided (ie, include a discard priority level of “0”, which is assigned to non-discardable files). In other words,
プロセッサ320は、非請求ファイルが記憶装置のユーザによって使用されるであろう確度あるいは確率と関連して前に説明したように、マーキングされるファイルに、そのファイルの予想される使用に応じて、廃棄優先レベルを割り当てることができる。プロセッサ320は、マーキングされているファイルの廃棄優先レベルを、新しいファイルを記憶装置に格納する各要求を用いて、あるいはその各要求を受け取ったことに応答して、更新することができる。プロセッサ320は、所与のマーキングされているファイルの廃棄優先レベルを、記憶装置にファイルを格納する1つ以上の新しい要求とは無関係に、更新することができる。例えば、以前は高い優先順位のものであったファイルは、一定時間間隔後にその優先順位を下げられることができる。プロセッサ320は、記憶装置に格納されているファイルを、そのファイルが所定の廃棄しきい値と等しいかまたはそれより大きい廃棄優先レベルと関連付けられているならば、削除する。プロセッサ320は、ファイル書き込みまたは付加の数に基づいて、あるいは記憶装置上の空き記憶スペースの予想される使用または新しい発行者ファイルの可用性に依存して、廃棄しきい値をセット(リセット)することができる。
The
メモリユニット310は、記憶装置に格納されているファイルにプロセッサ320が割り当てている廃棄優先レベルを包含する割り当てテーブル340を収容することができる。さらに、割り当てテーブル340は、ファイルの識別子と、ファイルをファイルに割り当てられている廃棄優先レベルと関連付ける情報とを収容することができる。割り当てテーブル340は、さらに廃棄しきい値を収容することができる。割り当てテーブル340に収容されている情報により、プロセッサ320は所望のストレージ使用安全マージンを回復するためにどの1つまたは複数の廃棄可能ファイルを記憶装置から除去し得るかを特定することができる。
The
新しいファイルを記憶装置に格納する要求を受け取ったことに応答して、プロセッサ320は記憶装置上の空き記憶スペース(f)のサイズを評価し、記憶装置上の空き記憶スペースの評価されたサイズが所定のサイズより大きければ新しいファイルを記憶装置に格納するが、それが所定のサイズより大きくなければ、プロセッサ320は記憶装置内の削除され得る1つ以上の廃棄可能ファイルを探し、そのような1つまたは複数のファイルを発見すると、プロセッサ320は、拡張された空き記憶スペースの総サイズがその所定のサイズに等しいかまたはそれより大きくなるように現在の空き記憶スペース(f)を拡張するためにその1つまたは複数のファイルを削除する。その1つまたは複数の廃棄可能ファイルは、廃棄可能ファイルと関連付けられている廃棄優先レベルが所定の廃棄しきい値(例えば1から15の間、例えば15)に等しいかまたはそれより大きければ、記憶装置から削除され得る。
In response to receiving a request to store a new file in the storage device, the
空き記憶スペースが充分に拡張された後、プロセッサ320は、その拡張された空き記憶スペースに新しいファイルが格納されることを許可する。「空き記憶スペースが充分に拡張される」とは、所望のストレージ使用安全マージンを狭めることなく総空き記憶スペースが新しいファイルを収容できるようになるまで、あるいは同等のことであるが、拡張された空き記憶スペースの総サイズが所定のサイズに等しくなるかまたはそれより大きくなるまで、もしくは全ての廃棄可能ファイルが除去されるまで、占拠されている記憶スペースを1つずつ解放することによって空き記憶スペースを広げることを意味する。
After the free storage space is sufficiently expanded, the
プロセッサ320は、標準的ないつでも買えるシステムオンチップ(「SoC」)デバイス、またはシステムインパッケージ(「SiP」)デバイス、あるいは実行時に本願明細書に記載されているステップ、操作および評価を行う専用ソフトウェアを有する汎用処理装置であり得る。代わりに、プロセッサ320は、本願明細書に記載されているステップ、操作および評価をハードウェアを用いることによって実行する特定用途向け集積回路(「ASIC」)であり得る。
The
図4は、一実施形態に従う廃棄可能ファイルを格納する方法である。図4は、図1と関連して記述される。ステップ410で、ホスト140は、ファイル142を記憶装置100に格納する要求を受け取る。ステップ420でストレージアロケータ144はファイルを「廃棄可能」または「非廃棄可能」とマーキングし、空き記憶スペース190が充分に大きければ、ステップ430で、そのマーキングされたファイルを記憶装置100のストレージコントローラ120に送る(すなわち、記憶領域110に格納するため)。ファイルは、廃棄優先レベルがファイルに割り当てられるという意味でもマーキングされる。ステップ440で、ストレージアロケータ144は、そのマーキングされたファイルに基づいて、さらに、任意的に、既にマーキングされている1つ以上のファイルに基づいて、記憶領域110(ストレージコントローラ120との通信を通して)あるいは記憶領域110に格納されているファイルを管理する。
FIG. 4 is a method of storing a discardable file according to one embodiment. FIG. 4 is described in conjunction with FIG. In
図5は、一実施形態に従う記憶装置における廃棄可能ファイルの記憶を管理する方法である。図5は、図1と関連して記述される。新しいファイルは、記憶装置100に格納される候補である。記憶装置100のファイルシステム160の現在のイメージを認識して、ストレージアロケータ144は、ステップ510で、現在のサイズがfである空き記憶スペース190がその新しいファイル(すなわち、格納されそうな候補であるファイル)を収容できるかを調べるために空き記憶スペース190の現在のサイズ「f」を評価する。一般的に、ストレージアロケータ144が新しいファイルを処理する方法は、その新しいファイルがユーザファイルであるのか発行者ファイルであるのかによる。従って、ストレージアロケータ144は、まず、新しいファイルがユーザファイルであるのか発行者ファイルであるのかを判定する。
FIG. 5 is a method for managing storage of discardable files in a storage device according to one embodiment. FIG. 5 is described in connection with FIG. The new file is a candidate stored in the
新しいファイルがユーザファイルである場合
ステップ520で、ストレージアロケータ144は、空き記憶スペース190が新しいユーザファイルを収容できるかを調べる。空き記憶スペース190が新しいユーザファイルを収容できるならば(ステップ520で「Y」として示されている)、ストレージアロケータ144は、ステップ560で、その新しいユーザファイルを格納することにより所望のストレージ使用安全マージンが狭められるか否かに関わらず新しいユーザファイルを空き記憶スペース190に格納する。ストレージアロケータ144が新しいユーザファイルを空き記憶スペース190に格納した後に所望のストレージ使用安全マージンがより狭くなるとしても(すなわち、所望のストレージ使用安全マージンと比べて)、ストレージアロケータ144は、その新しいユーザファイルの格納に関してそれ以上の処置をとらない。
If the new file is a user file, at
しかし、ストレージアロケータ144が新しいユーザファイルを空き記憶スペース190に格納した後に所望のストレージ使用安全マージンがより狭くなるならば、ステップ550は、所望のストレージ使用安全マージンを維持するために、どの格納されている廃棄可能ファイルが最初に削除されるべきか、どの廃棄可能ファイルが2番目に削除されるべきかなどをストレージアロケータ144が判定する追加のステップを含む。ストレージアロケータ144は、格納されている廃棄可能ファイルにストレージアロケータ144が割り当てた廃棄レベルに基づいて、どの廃棄可能ファイルが最初に削除されるべきか、どれが2番目に削除されるべきかなどを判定する。
However, if the desired storage usage safety margin becomes narrower after the
空き記憶スペース190が新しいユーザファイルを収容できないとストレージアロケータ144がステップ520で判定すると(ステップ520で「N」として示されている)ストレージアロケータ144は、ステップ530で、空き記憶スペース190と、廃棄可能ファイルにより占拠されている記憶スペースとが結合されるとその新しいユーザファイルを格納するために充分であるかを判定する。その結合された記憶スペースが不十分であるならば(ステップ530で「N」として示されている)、どれだけ多くの廃棄可能ファイルが削除されても、その新しいユーザファイルは、そのサイズがより大きいために「非ユーザ」記憶領域に格納され得ないということを意味する。その結合された記憶スペースが充分であるならば(ステップ530で「Y」として示されている)、ストレージアロケータ144は、その新しいユーザファイルのために充分な記憶スペースを解放するために、格納されている廃棄可能ファイルのうちのどの廃棄可能ファイルが削除され得るかをステップ540で調べる。前に説明したように、ストレージアロケータ144は記憶装置のファイルシステムにおいてファイルを非廃棄可能または廃棄可能とマーキングするので、ストレージアロケータ144は、記憶装置100のファイルシステムを用いることによってこれらの廃棄可能ファイルを探す。さらに、マーキングされているファイルにストレージアロケータ144により割り当てられる廃棄レベルも、各廃棄レベルが対応するマーキングされたファイルと関連付けられるように、記憶装置のファイルシステムに埋め込まれる。
If the
最初に廃棄されるべき廃棄可能ファイル(「DF」)(このファイルは、以降「DF1」と称される)を発見すると、ストレージアロケータ144は、その記憶スペース(この記憶スペースは、以降「SP1」と称される)を記憶スペース190に加えるためあるいは戻すために、ファイルDF1を削除する。
Upon finding a discardable file (“DF”) to be discarded first (this file is hereinafter referred to as “DF1”), the
その後、ステップ550でストレージアロケータ144は、拡張された空き記憶スペース190(すなわち、空き記憶スペース190+最後に戻された記憶スペース、すなわちf+SP1)がその新しいユーザファイルを収容できるかを調べる。拡張された空き記憶スペース190(すなわち、f+SP1)が依然としてその新しいユーザファイルを収容できなければ(ステップ550で「N」として示されている)、ストレージアロケータ144は、さらなる記憶スペースを空き記憶スペース190に戻すために(すなわち、削除されるべき次の廃棄可能ファイルを見つけて削除することにより)ステップ550を反復的に繰り返す(反復は555で示されている)。
Thereafter, at
2番目に高い廃棄優先順位を有する次の廃棄可能ファイルを見つけると(次の廃棄可能ファイルは、以降「DF2」と称される)、ストレージアロケータ144は、さらなる記憶スペース(このさらなる記憶スペースは、以降「SP2」と称される)を解放して空き記憶スペース190に加えるためにファイルDF2を削除する。その後、ステップ550で、ストレージアロケータ144は、拡張された空き記憶スペース190(すなわち、空き記憶スペース190+2つの最後に解放された記憶スペース、すなわちf+SP1+SP2)がその新しいファイルを収容できるかを再び調べる。その拡張された空き記憶スペース190(すなわち、f+SP1+SP2)が依然としてその新しいファイルを収容できなければ(ステップ540で「N」として示されている)、ストレージアロケータ144は、削除されるべき次の廃棄可能ファイルを見つけるためにステップ540をもう一度繰り返す。ストレージアロケータ144は、累積された空き記憶スペース190がその新しいユーザファイルを収容できるようになるまで(ステップ550で「Y」として示されている)ステップ540および550を反復する。その後、ステップ560で、ストレージアロケータ144は、その新しいユーザファイルを記憶領域110に格納する。
Upon finding the next discardable file with the second highest discard priority (the next discardable file is hereinafter referred to as “DF2”), the
前述したように、ストレージアロケータ144が新しいユーザファイルを空き記憶スペース190に格納した後に実際のストレージ使用安全マージンが所望のストレージ使用安全マージンより狭くなるならば、ステップ560は、所望のストレージ使用安全マージンを回復するためにどの格納されている廃棄可能ファイルが最初に削除されるべきか、どの廃棄可能ファイルが2番目に削除されるべきかなどをストレージアロケータ144が判定する追加のステップを含むことができる。
As described above, if the actual storage usage safety margin becomes narrower than the desired storage usage safety margin after the
新しいファイルが発行者ファイルである場合
新しいファイルが発行者ファイルであるならば、ストレージアロケータ144は、空き記憶スペース190が所望のストレージ使用安全マージンを狭めることなく新しい発行者ファイルを収容できる場合に限って、その新しい発行者ファイルを(ステップ560で)記憶領域110に格納する。すなわち、新しい発行者ファイルを格納すれば所望のストレージ使用安全マージンを狭める結果となるのであれば、ストレージアロケータ144はその新しい発行者ファイルを記憶領域110に格納しないと決定することができる。そのような場合、ストレージアロケータ144は、そのファイルに関しての処置を控え、その新しい発行者ファイルのための記憶スペースを解放するために記憶装置からファイルを削除しなくてもよい。代わりに、ストレージアロケータ144は、より低い廃棄優先順位を有する廃棄可能ファイルのための記憶スペースを解放するために1つ以上のより高い優先順位の廃棄可能ファイルをステップ540で削除することができる。前に述べたように、ファイルは記憶装置100のファイルシステムにおいてマーキングされ、廃棄レベルは記憶装置100のファイルシステムに埋め込まれ、ファイルがマーキングされ、廃棄レベルがファイルシステムに埋め込まれる方法は、その使用されるファイルシステムに依存し、あるいはその使用されるファイルシステムに適合させられ得る。
If the new file is an issuer file If the new file is an issuer file, then the
図6は、一実施形態に従うFAT32構造化ファイルシステムにおいて非請求ファイルをマーキングする方法である。FAT32構造化ファイルシステムはクラスタを使用する。FAT32構造化ファイルシステムと関連して前に記載したように、FAT32クラスタを特定するために使用されるビットの数は32である。図6は、図1と関連して記述される。 FIG. 6 is a method for marking an unsolicited file in a FAT32 structured file system according to one embodiment. The FAT32 structured file system uses clusters. As previously described in connection with the FAT32 structured file system, the number of bits used to identify a FAT32 cluster is thirty-two. FIG. 6 is described in connection with FIG.
ステップ610で、FAT32の各クラスタの32ビットのうちのm個の最上位ビット(ここで、m≦4)が、状況に応じてファイルを非廃棄可能または廃棄可能とマーキングするために、および各廃棄可能ファイルに対応する廃棄レベルを保持するために割り当てられ、あるいは専用される。ファイルへの廃棄レベルの割り当ては、対応する値を、そのマーキングされたファイルに対応する割り当てられたmビットにセットすることにより行われる。
In
ステップ620で、ストレージアロケータ144は、記憶装置100のユーザがその非請求ファイルを使用する確度のレベルを評価する。そのファイルを使用する確度の評価は、委託ファイルの技術分野の当業者に知られている種々の方法で実行され得る。例えば、そのファイルを使用する確度の評価は、その記憶装置を使用する人の位置をモニタすること、および/またはモニタされるユーザの以前の経験および好みに基づくことができる。そのファイルを使用する確度の評価は、例えば、そのFATテーブルまたはNTFSテーブル内に格納されているコンテンツのタイプ(例えば、「広告コンテンツ」、「プレミアムコンテンツ」、「販売促進(無料)コンテンツ」など)に基づいてもよい。ストレージアロケータ144は、そのファイルが使用される確度を評価するために代わりのあるいは追加の基準を使用することができる。例えば、最後にアクセスされたファイル、ファイルのサイズ、ファイルのタイプなどであり得るか、あるいはそれらと関連付けられ得る、ファイルの属性または特徴を使用することができる。
At
ユーザがその非請求ファイルを使用する確度のレベルをストレージアロケータ144が評価した後、ストレージアロケータ144は、ステップ630で、非請求ファイルの使用の評価された確度レベルに対応する廃棄優先レベルを割り当てる。その非請求ファイルが記憶装置100のユーザにより使用される確度が高ければ高いほど、廃棄レベルは低くなる。
After the
mが4ビットに等しければ、これは、廃棄スケールは1(すなわち、0001)から15(すなわち、1111)までの15個の廃棄レベルを提供する。すなわち、廃棄レベル0は全ての非廃棄可能ファイルに割り当てられ、廃棄レベル1は最低の廃棄優先順位を有する廃棄可能ファイルに割り当てられ、廃棄レベル15は最高の廃棄優先順位を有する廃棄可能ファイルに割り当てられる。ストレージアロケータ144が非請求ファイルに対応する廃棄レベルを割り当てた後、ストレージアロケータ144は、ステップ640で、その非請求ファイルと関連付けられているクラスタの4個の最上位ビットに1と15との間の対応する値をセットする。その非請求ファイルが2つ以上のクラスタと関連付けられているならば、各クラスタの4個の最上位ビットが同じ値にセットされる。
If m is equal to 4 bits, this provides 15 discard levels with a discard scale of 1 (ie 0001) to 15 (ie 1111). That is, discard
ステップ650で、その非請求ファイルは評価される必要のある最後のファイルであるか否かが調べられる。その非請求ファイルが評価される必要のある最後のファイルでなければ(ステップ650で「N」として示されている)、前に記載した方法で他のファイルが評価される。その非請求ファイルが評価される必要のある最後のファイルであるならば(ステップ650で「Y」として示されている)、その非請求ファイルは、その値がステップ640でセットされた各々のためのm個のビットと共に記憶装置に送られる。
In
図7は、FAT32テーブルと関連付けられている代表的なディレクトリテーブル700である。ディレクトリテーブル700は説明のために使用される部分的テーブルであるので、テーブル700はFATディレクトリエントリの全てのフィールドを示してはいない。ディレクトリ領域700は、ファイル名、ファイルのサイズ、および関連する記憶スペースのどこから各ファイルが始まるかなど、関連するファイルシステムに格納されているファイルの細目を収容する。ファイルの細目は、次のフィールドに収容されている。フィールド710は、関連するファイルシステムに格納されているファイルのディスクオペレーティングシステム(「DOS」)ファイル名を収容し、フィールド720はファイルの拡張子を収容し、フィールド730はファイルの種々の属性を収容し、フィールド740はファイルの第1のクラスタ番号(「FCN」)の上位16ビットワードを収容し、フィールド750はファイルの第1のクラスタ番号(「FCN」)の下位部分を収容し、フィールド760はファイルのサイズを収容する。各FCN番号は、ファイルが見出され得る第1の論理クラスタを示す。
FIG. 7 is a representative directory table 700 associated with the FAT32 table. Since the directory table 700 is a partial table used for illustration, the table 700 does not show all the fields of the FAT directory entry.
ディレクトリ領域700の第1のエントリは、「REALFILE」(770のところに示されている)と称される代表的なファイルについての情報を収容する。REALFILE770はファイル拡張子「DAT」を有し、そのFCNは「0000 0002」であり(755のところに示されている)、そのサイズは「0000 24E4」である。テーブル700内の数字は十六進値で示されている。標準の一部として、属性値「00」(780のところに示されている)および「20」(図7には示されていない)は「レギュラー」ファイルを指し、属性値「02」は、ファイルシステムにおいて隠されているファイルを指す。ファイル名「\xE5Consign」は、削除されたファイルを示し、ここで「\xE5」は、そのファイル名の第1のバイトの値が16進法のE5であることを意味する。例を挙げると、FCN番号0000 0002(755のところに示されている)は、ファイルREALFILEの第1のクラスタを示す。
The first entry in the
図8は、一実施形態に従う代表的な部分的FAT32テーブル800である。FAT32テーブル800はダブルワード(「DWORD」)アレイとして示され、値は十六進値である。参照番号810はFAT32テーブル800を収容しているデバイスのタイプを示し、ここで「F8」はハードディスクを指す。FAT32テーブル800は、クラスタ#1(820のところに示されている)、クラスタ#2(825のところに示されている)・・・クラスタ#23(830のところに示されている)と称される23個のクラスタを含む。図8は、図7と関連して記述される。FAT32テーブル800内のクラスタはファイルの第1のクラスタであることができ、あるいはファイルの次のリンクされているクラスタを指すことができ、あるいはファイルの終わり(「EOF」)インジケーションであることができる。
FIG. 8 is an exemplary partial FAT32 table 800 according to one embodiment. The FAT32 table 800 is shown as a double word (“DWORD”) array, and the values are hexadecimal values.
ディレクトリ領域700を再び参照すると、ファイルREALFILE(770のところに示されている)の第1のFCNは「0000 0002」(755のところに示されている)であり、これは図8のテーブル800のクラスタ#2を指す。図8に示されているように、クラスタ#2の値(すなわち、値「0000 0003」)は(840のところに示されている)クラスタ#3を指し、これは次のファイルのクラスタである。同様に、クラスタ#3の値(すなわち、「0000 0004」)はクラスタ#4を指し、これは次のファイルのクラスタである。クラスタ#4は値「0FFF FFFF」を有し(「F」は、十進値「15」を表す十六進数字である)、ここで「FFF FFFF」(850のところに示されている)はファイルのEOFインジケーションを示し、ゼロ値(860のところに示されている)は廃棄レベル0を示す。従って、ファイルREALFILEは3つのクラスタ(すなわち、クラスタ#2、クラスタ#3、およびクラスタ#4)と関連付けられている。
Referring back to the
前に説明したように、廃棄レベル0は非廃棄可能ファイルに割り当てられる。特定のファイルの各クラスタの最上位十六進数字は、そのファイルに割り当てられた同じ廃棄優先レベルにセットされるということに留意すべきである。例えば、ファイルREALFILEには廃棄レベル「0」が割り当てられ、従って、クラスタ#2、#3、および#4の最上位十六進数字の各々はその値(すなわち、値「0」、これらの「0」値にはアンダーラインが付けられている)を有する。他の1つの例では、そのFCNが(図7に示されているように)「0000 0005」であるファイル「E5Consign」には廃棄優先レベル「1」が割り当てられている。従って、そのファイルに属するクラスタ#5〜12の各々の最上位十六進数字は値「1」を有する(例えば、870のところに示されているように)。換言すれば、本願明細書における開示では特定の廃棄可能ファイルと関連付けられているクラスタの最上位十六進数字、あるいは同等に最上位4ビットは、その特定のファイルに割り当てられている廃棄優先レベルに対応する同じ値にセットされる。前に説明したように、廃棄優先レベルを示すために使われる最上位ビットの数mは4と異なっていてもよい(すなわち、m≦4)。
As explained previously, discard
図9は、一実施形態に従う代表的な部分的NTFSテーブル900である。NTFSテーブル900は、ファイル名、ファイルのサイズなどのファイルの細目を収容する。NTFSテーブル900は、「通常の」データフローに従って変化するファイルのための「レギュラー」データ(例えば、データ920)を収容するデータフィールド910を含む。本願明細書における開示では、NTFSテーブル900は、各々の評価されたファイルについての廃棄情報(例えば、廃棄情報930)を収容するための「廃棄情報」フィールド915をも含む。廃棄情報フィールド915は、廃棄優先レベル以外の情報も含むことができる。例えば、廃棄情報フィールド915は、そのファイルを供給したサーバと、その後にファイルが廃棄されなければならない満期時とに関する情報を含むことができる。FATベースのファイルシステムとは違って、NTFSベースのファイルシステムでは廃棄可能ファイルに割り当てられる廃棄値は、1セットのビットにより規定される最大数に限定されない。これは、廃棄値の範囲が自由に選択され得ることを意味する。例えば、廃棄値は1から25までの範囲にわたり得る。NTFSは、代表的な非FATファイルシステムである。一般的に、対応する廃棄値は、マーキングされたファイルに対応する非FATベースのファイルシステムのエントリ内のデータフィールドにセットされ得る。
FIG. 9 is an exemplary partial NTFS table 900 according to one embodiment. The NTFS table 900 accommodates file details such as file name and file size. The NTFS table 900 includes a
図10は、一実施形態に従う記憶装置のファイルシステム1000の論理配置である。ストレージアロケータ(例えば、図1のストレージアロケータ144)は、自分と協同する記憶装置のファイルシステム1000またはファイルシステム1000のイメージを保持し得るか、あるいはストレージアロケータはファイルシステム1000へのアクセスを持ち得る。
FIG. 10 is a logical layout of the storage
ファイルシステム1000は、ブートセクション1010と、ファイルシステム1000と関連付けられているFAT1020と、ディレクトリテーブル1030と、ファイル領域1040と、廃棄可能ファイル領域1050とを含む。FAT1020は、廃棄可能ファイルの廃棄優先レベルを包含する廃棄可能ファイル割り当て領域1025を含む。ディレクトリテーブル1030は、記憶装置に格納されている全てのファイル(すなわち、廃棄可能ファイルおよび/または非廃棄可能ファイル)にアクセスするためのアクセス情報を含む。ファイル領域1040は、非廃棄可能ファイルを包含する。インデックスおよびデータベース領域1045は、廃棄可能ファイルのためのインデックスと、さらに、廃棄可能ファイルに関連付けられているメタデータとを収容する。インデックスおよびデータベース領域1045に収容されているインデックスおよびメタデータは、廃棄レベルを計算するために使用されるけれども、実際の廃棄プロセス中には必要とされない。廃棄可能ファイル領域1050は、廃棄可能ファイルを収容する。
The
図11は、本願明細書における開示に従うファイル管理方法を示す。図11は、図1と関連して記述される。時刻T0において2つのユーザファイル(すなわち、ファイル「F1」および「F2」)が初めに記憶領域110に格納されていると仮定される。ファイル「F1」および「F2」はユーザファイルなので、それらはユーザ領域170に格納され、ストレージアロケータ144によってそれらに割り当てられている廃棄レベルはゼロである。記憶領域110の総記憶容量はT(1110のところに示されている)であり、ファイルF1およびF2は記憶装置100に格納されているので、残りの空き記憶スペース190のサイズ(図1を参照)はf(1120のところに示されている)である。発行者が3つの非請求ファイルを記憶領域110に格納することを望むと仮定される。前に記述したように、発行者のその3つの非請求ファイルを記憶領域110に格納すると、将来のユーザのファイルのために確保されている所望のストレージ使用安全マージン(1130のところに示されている)が狭くなるかどうかを判定するために、ストレージアロケータ144は記憶装置100内の空き記憶スペース190のサイズ(すなわち、1120のところのf)を評価する。発行者の3つの非請求ファイルを格納するとストレージ使用安全マージン1130(すなわち、所望のストレージ使用安全マージン)が狭くなるならば、ストレージアロケータ144はそれらのファイルを格納するのを差し控える。
FIG. 11 illustrates a file management method according to the disclosure herein. FIG. 11 is described in conjunction with FIG. It is assumed that two user files (ie, files “F1” and “F2”) are initially stored in
この例では、ストレージアロケータ144は、ストレージ使用安全マージン1130を減少させることなくその発行者の3つの非請求ファイルが記憶領域110に格納され得ると判定する。従って、時点T1で、ストレージアロケータ144は、ストレージコントローラ120がその発行者の3つの非請求ファイルを記憶領域110に格納することを許可する。その3つの発行者の非請求ファイルは「P1」、「P2」、および「P3」と称されている。ストレージアロケータ144は、さらにファイルP1、P2、およびP3が記憶装置100のユーザにより使用される確率を判定し、対応する廃棄レベルをそれらのファイルの各々に割り当てる。ストレージアロケータ144は、その後、ファイルに割り当てられた廃棄レベルを、図8に示されているようにFATテーブルあるいは図9に示されているようにNTFSテーブルに格納する。
In this example, the
時点T2で、記憶装置100のユーザは、もう2つのファイル(すなわち、ファイル「F3」および「F4」)を記憶領域110に格納することを望む。ストレージアロケータ144は、その追加のファイル(すなわち、ファイルF3およびF4)を格納するのに充分な記憶スペースが記憶領域110にあるかを判定するために記憶装置100内の空き記憶スペース190のサイズ(すなわち、1120のところのf)を再び評価する。この例では、ストレージアロケータ144は、現在空いている記憶スペースはファイルF3およびF4を収容できると判定する。従って、時点T2で、ストレージアロケータ144は、ストレージコントローラ120がファイルF3およびF4を記憶領域110に格納することを許可する。
At time T2, the user of
ファイルF3およびF4はユーザファイルであるため、ユーザがファイルF3およびF4を、使用するとしても、何回使用するかとは関係なく、ユーザファイルは発行者ファイルより高い記憶優先順位を有するので、ファイルF3およびF4が記憶装置100のユーザにより使用される確率は重要ではない。従って、ストレージアロケータ144は、ファイルF3およびF4に廃棄レベル「0」を割り当て、その割り当てられた廃棄レベルを、図8に示されているようにFATテーブルあるいは図9に示されているようにNTFSテーブルに格納する。
Since the files F3 and F4 are user files, the user file has a higher storage priority than the issuer file regardless of how many times the user uses the files F3 and F4. And the probability that F4 is used by a user of
時点T3で、記憶装置100のユーザは、記憶領域110に他の1つのファイル(すなわち、ファイル「F5」)を格納することを望む。ストレージアロケータ144は、その追加のファイル(すなわち、ファイルF5)を格納するのに充分な記憶スペースが記憶領域110にあるかを判定するために記憶装置100内の空き記憶スペース190のサイズ(すなわち、1120のところのf)を再び評価する。
At time T3, the user of the
この例では、ストレージアロケータ144は、現在空いている記憶スペースがファイルF5を収容できると判定する。従って、時点T3で、ストレージアロケータ144はストレージコントローラ120がファイルF5を記憶領域110に格納することを許可する。図11に示されているように、ユーザファイルF5を格納するとストレージ使用安全マージンが狭まる。すなわち、ファイルF1〜F5およびP1〜P3が記憶領域110に格納された後に残っている記憶領域110内の空き記憶スペースfは、ストレージ使用安全マージン1130より小さい。従って、ストレージアロケータ144は、発行者のファイル(すなわち、P1、P2、およびP3)のうちの1つを除去することによって、ストレージ使用安全マージンを復活させるかあるいは回復する。前に説明したように、ユーザファイルが最大の記憶優先順位を有するので、ストレージ使用安全マージンは、1つ以上の発行者ファイルを除去(すなわち、削除)することによって復活させられるかあるいは回復される。
In this example, the
前に記述したように、どの1つの発行者ファイルまたは複数の発行者ファイルが記憶領域110から除去されるべきかの決定は、ストレージアロケータ144が各々の格納されている廃棄可能ファイルに割り当てた廃棄優先レベルに基づいてストレージアロケータ144によって行われる。
As previously described, the determination of which issuer file or multiple issuer files should be removed from the
再び図11を参照して、格納されている発行者ファイルP1〜P3のうちで発行者ファイルP3に最高の廃棄優先レベル(例えば、13)が割り当てられたと仮定される。従って、時点T4でファイルP3が記憶領域110から除去され、これにより空き記憶スペース190を大きくする。時点T4における空き記憶スペース190のサイズ(すなわち、1120のところのf)はストレージ使用安全マージン1130より大きいので、発行者ファイルをそれ以上除去する必要はない。
Referring to FIG. 11 again, it is assumed that the highest discard priority level (for example, 13) is assigned to the issuer file P3 among the stored issuer files P1 to P3. Accordingly, the file P3 is removed from the
記憶装置100のユーザは、1つ以上のユーザファイルを除去することを望むかもしれない。時点T5でユーザは自分のファイルのうちの2つ(すなわち、ファイルF4およびF5)を除去し、これにより空き記憶スペース190をさらに大きくした。ここで述べられたように、空き記憶スペースの再獲得あるいはストレージ使用安全マージンの回復は必要な数の廃棄可能ファイルを除去することによって行われるので、ファイルF4およびF5の除去は空き記憶スペース190のサイズまたはストレージ使用安全マージンとは無関係である。発行者が他の1つの非請求ファイルを記憶領域110に格納することを望むと想定される。前に記述したように、ストレージアロケータ144は、その発行者の非請求ファイルを記憶領域110に格納するとストレージ使用安全マージン1130が狭まらないかを判定するために空き記憶スペース190のサイズ(すなわち、1120のところのf)を評価する。その発行者の新しい非請求ファイルを格納するとストレージ使用安全マージン1130が狭まるのであれば、ストレージアロケータ144は、そのファイルを格納するのを差し控える。
A user of
この例では、ストレージアロケータ144は、発行者の新しい非請求ファイル(すなわち、ファイル「P4」)はストレージ使用安全マージン1130を減少させることなく記憶領域110に格納され得ると判定する。従って、時点T6でストレージアロケータ144はストレージコントローラ120が発行者のファイルP4を記憶領域110に格納するのを許可する。ストレージアロケータ144は、ファイルP4が記憶装置100のユーザによって使用される確率も判定し、対応する廃棄レベルをこのファイルに割り当てる。ストレージアロケータ144は、その後、ファイルP4に割り当てられた廃棄レベルを、図8に示されているようにFATテーブルあるいは図9に示されているようにNTFSテーブルに格納する。新しいファイルが記憶領域110に加えられなければならないたびにストレージアロケータ144が空き記憶スペース190の現在のサイズを評価して、どの1つまたは複数の発行者ファイル(あるとすれば)が記憶領域110から除去されなければならないかを判定する間、新しい発行者のファイルおよび新しいユーザファイルを格納すると共に格納されているファイルを除去するプロセスが続行され得る。
In this example, the
廃棄可能ファイルへの廃棄レベルの割り当ては、ユーザの経験または選択、ユーザの全地球測位システム(「GPS」)位置、および/または他の基準に基づくことができる。例えば、記憶装置のユーザが(以前のユーザの経験に基づいて)或るタイプの音楽を好みそうに思われるならば、ストレージアロケータは発行者のファイルに、そのファイルがユーザの気に入っているタイプのうちの1つの音楽である音楽を含んでいるならば、割合に低い廃棄優先レベル(例えば、1から15までのスケールの中の3)を割り当てることができる。しかし、発行者の音楽がユーザに嫌われるならば(すなわち、以前のユーザの経験に基づいて)、ストレージアロケータは、その関連する発行者のファイルにより高い廃棄優先レベル(例えば、1から15までのスケールの中の12)を割り当てることができる。廃棄可能ファイルに廃棄レベルを割り当てるために使用される基準は、そのファイルの予想される使用法、そのファイルの使用と関連付けられた予想される収益、そのファイルのタイプ、そのファイルのサイズ、そのファイルの記憶装置の中での位置、そのファイルの古さ、およびここで明示される他の基準またはパラメータを含むことができる。他の基準を、単独でもあるいはここで言及された基準のうちのいずれかと組み合わされても、同様に使用することができ、廃棄レベルの割り当てを1つ以上の基準を用いて行うことができる。さらに、異なる廃棄可能ファイルに廃棄レベルを割り当てるために異なる基準が使用され得る。 Assigning a discard level to a discardable file can be based on the user's experience or selection, the user's global positioning system (“GPS”) location, and / or other criteria. For example, if a storage user seems to prefer a certain type of music (based on the previous user's experience), the storage allocator will put the file in the publisher's file If it contains music that is one of them, a relatively low discard priority level (eg, 3 on a scale from 1 to 15) can be assigned. However, if the publisher's music is disliked by the user (ie, based on the previous user's experience), the storage allocator will have a higher discard priority level (eg, 1-15) for its associated publisher's file. 12) of the scale can be assigned. The criteria used to assign a discard level to a discardable file are the expected usage of the file, the expected revenue associated with the use of the file, the type of the file, the size of the file, the file Location in the storage device, the age of the file, and other criteria or parameters specified herein. Other criteria, whether alone or in combination with any of the criteria mentioned herein, can be used in the same way, and a discard level assignment can be made using one or more criteria. In addition, different criteria may be used to assign discard levels to different discardable files.
他の1つの例において、発行者がユーザに位置依存型の広告(すなわち、特定の位置の中で提供される製品またはサービスに関連する広告)を送ることを望むならば、ストレージアロケータは、その発行者の広告に対して、ユーザの変化する位置に応じて変化する廃棄優先レベルを割り当てることができる。すなわち、ユーザが特定の位置から遠ざかるほど廃棄レベルは高くなるであろうが、それは、その特定の位置から離れるほど、ユーザはその特定の位置で提供されるその製品またはサービスを消費することに関心を持たなくなると想定され得るからである。 In another example, if an issuer wishes to send a user location-dependent advertisements (ie, advertisements related to products or services offered in a particular location), the storage allocator It is possible to assign a discard priority level that changes according to the position of the user to the advertisement of the issuer. That is, as the user moves away from a particular location, the disposal level will increase, but the further away from the particular location, the more interested the user will consume the product or service provided at that particular location. This is because it can be assumed that the
前に記載したように、廃棄可能ファイルのためのクラスタチェーンは、FAT32エントリと関連付けられたファイルを廃棄可能ファイルと特定するフラグと共にFATに記録される。通例、フラグは、各FAT32エントリの4つの最上位ビットに存在する。クラスタチェーンは、廃棄可能ファイルに割り当てられ得るけれども、それらと関連付けられた非廃棄可能ファイルをもたないので、chkdskまたはfsck.vfatなどのユーティリティが廃棄可能ファイルを、「リアル」ファイルとしても知られる非廃棄可能ファイルに転換させ、これによりファイルシステム160のセキュリティを低下させるということが起こり得る。さらに、何らかのFATリカバリユーティリティがFAT32エントリ内の廃棄可能ファイルフラグをリセットする危険がある。FAT32ファイルシステムの検査および修理ユーティリティは、しばしば、ありふれたエラーを修正するためにファイルシステムをステップスルーしてルールを適用する。一般的に、これらのユーティリティは、ディレクトリテーブル内の第1のクラスタ番号(FCN)コラム内に対応するエントリを持っていないFAT内のクラスタチェーンを探すことができる。ユーティリティは、ディレクトリあるいはファイルエントリを全く持っていないFAT内のクラスタ割当てを不明のデータフラグメント(オーファンクラスタとしても知られている)として扱い、ユーティリティは、これらのオーファンクラスタを削除するか、あるいは対応するファイルエントリをディレクトリテーブル内に作成することができる。本願明細書に記載されている廃棄可能ファイルシステムは、そうでなければオーファンクラスタと見なされるであろうものを使用することができるので、ユーティリティは、間違って廃棄可能ファイルを非廃棄可能ファイルに変えたり、あるいは廃棄可能ファイルを完全に除去したりすることがある。
As previously described, the cluster chain for a discardable file is recorded in the FAT along with a flag that identifies the file associated with the FAT32 entry as a discardable file. Typically, flags are present in the four most significant bits of each FAT32 entry. A cluster chain can be assigned to discardable files but has no non-discardable files associated with them, so chkdsk or fsck. It can happen that a utility such as vfat converts a discardable file into a non-discardable file, also known as a “real” file, thereby reducing the security of the
これらの問題を処理するために、或るインプリメンテーションでは、ストレージアロケータ144は廃棄可能ファイルをプライマリFAT内のクラスタチェーンと関連付けることができ、そのクラスタチェーンは廃棄可能ファイルの物理的位置を隠し、ストレージアロケータ144はファイルの物理的位置を廃棄可能FAT、データベース、あるいは1つ以上のロケーションファイルに格納する。通例、その廃棄可能FAT、データベース、あるいは1つ以上のロケーションファイルはプライマリFATには不可視であり、或るインプリメンテーションでは、ホストオペレーティングシステムがその廃棄可能FAT、データベース、あるいは1つ以上のロケーションファイルにアクセスすることを阻止する、その廃棄可能FAT、データベース、あるいは1つ以上のロケーションファイルと関連付けられた属性がイネーブルされ得る。
To address these issues, in some implementations, the
前に記したように、FAT32内の各エントリは32ビットであるけれども、下位28ビットだけが使用される。通例、上位4ビットは使われずに残され、ゼロにセットされる。(FAT32の準拠インプリメンテーションは、上位4ビットを、たとえ割り当てられているクラスタにおいてセットされていても、無視し、新しいFATエントリを書き込む時には上位4ビットをゼロにセットするように要求される。)廃棄可能ファイルは、そのファイルと関連付けられている各クラスタチェーンのFATエントリの上位4ビットの中のフラグによって非廃棄可能ファイルから区別される。標準的FAT32ドライバは、廃棄可能ファイルを割り当てられているスペースと見なし、それらの上に書き込まない。しかし、ストレージアロケータ144は、記憶装置110において空きスペース割当てを維持するために、図5に関して前に記述したものなどの操作を定期的に実行することができ、廃棄可能ファイルに割り当てられているスペースを回復することができる。
As noted above, each entry in FAT32 is 32 bits, but only the lower 28 bits are used. Typically, the upper 4 bits are left unused and set to zero. (FAT32 compliant implementations are required to ignore the upper 4 bits, even if they are set in the assigned cluster, and to set the upper 4 bits to zero when writing a new FAT entry. The discardable file is distinguished from the non-discardable file by a flag in the upper 4 bits of the FAT entry of each cluster chain associated with the file. The standard FAT32 driver considers discardable files as allocated space and does not write over them. However, the
プライマリFATと、廃棄可能FAT、データベース、および1つ以上のロケーションファイルのうちの少なくとも1つとを利用することにより、プライマリFATは拡張され得る。拡張されたプライマリFATがファイル割り当てテーブルルックアップ論理のブランチと関連して使用されるときには、FATエントリの上位4ビットが非ゼロであるならば、廃棄可能FAT、データベース、あるいは1つ以上のロケーションファイルの中の、廃棄可能ファイルの物理的位置を表す情報がプライマリFATのFATエントリの代わりに使用される。廃棄可能FAT、データベース、あるいは1つ以上のロケーションファイルの中の情報がプライマリFATのFATエントリの中の値をオーバーライドするので、chkdskおよびfsck.vfatなどのユーティリティは廃棄可能ファイルを非廃棄可能ファイルに変えないが、それは、ユーティリティが廃棄可能ファイルのクラスタを、廃棄可能FAT、データベースあるいは1つ以上のロケーションファイルの中のディレクトリまたはファイルエントリと関連付けられていると見なすからである。さらに、FATリカバリユーティリティは、ファイルが廃棄可能ファイルであることを示すFAT32エントリ内のフラグをリセットしないが、それは、chkdskおよびfsck.vfatなどのユーティリティが、廃棄可能ファイルと関連付けられているクラスタを、空きスペースと見なすのではなくて、廃棄可能FAT、データベース、あるいは1つ以上のロケーションファイルの中のディレクトリまたはファイルエントリと関連付けられていると見なすからである。 By utilizing a primary FAT and at least one of a discardable FAT, a database, and one or more location files, the primary FAT can be expanded. When the extended primary FAT is used in conjunction with a branch of the file allocation table lookup logic, a discardable FAT, database, or one or more location files if the upper 4 bits of the FAT entry are non-zero Information representing the physical location of the discardable file is used instead of the FAT entry of the primary FAT. Since information in the discardable FAT, database, or one or more location files overrides the value in the FAT entry of the primary FAT, chkdsk and fsck. Utilities such as vfat do not turn a discardable file into a non-discardable file, but the utility associates a cluster of discardable files with a discardable FAT, a database, or a directory or file entry in one or more location files. It is because it is regarded as being done. In addition, the FAT recovery utility does not reset the flag in the FAT32 entry indicating that the file is a discardable file, but it does not reset the chkdsk and fsck. A utility such as vfat is associated with a directory or file entry in a discardable FAT, database, or one or more location files, rather than considering the cluster associated with the discardable file as free space. Because it is considered to be.
ファイルシステム160が、廃棄可能ファイルとマーキングされているファイルを格納するためにプライマリFAT1200と廃棄可能FAT1201とを利用するとき、ストレージアロケータ144は、廃棄可能ファイルに割り当てられているクラスタチェーン1202をファイルと関連付けるために図12aに示されているようにプライマリFAT1200を更新する。一般的に、クラスタチェーン1202は、クラスタチェーン1202と関連付けられている廃棄可能ファイルと同じか、あるいはそれより大きいサイズであり得る。或るインプリメンテーションでは、クラスタチェーン1202は、プライマリFATにおいて廃棄可能ファイルの物理的位置をマスクする。通例、図7および8に関して前に記述したように、エントリ1204から始まるクラスタチェーン内の各クラスタは、エントリ1206に示されている1FFF FFFFなどの値がクラスタチェーン1202の終わりを示すまで、クラスタチェーン1202の次の連続クラスタを指す。しかし、他のインプリメンテーションでは、クラスタチェーンの各クラスタは、そのクラスタがクラスタチェーンの次の連続クラスタを指すのではなくて個別に割り当てられたクラスタであることを示す1FFF FFFFなどの値を持つことができる。
When the
図12bに示されているように、クラスタチェーン1202の第1のエントリ1204は、廃棄可能FAT1201内の対応するエントリ1208を指す。図7および8に関して前に記述したように、各ファイルについて、廃棄可能FAT1201の中のクラスタチェーン1202内の各クラスタは、エントリ1210において示されている1FFF FFFFなどの値がファイルのEOFを示すまでファイルの次の順のクラスタを指す。
As shown in FIG. 12 b, the
1つのクラスタチェーン1202は2つ以上のファイルと関連付けられ得るということを理解すべきである。例えば、図12bに示されているように、クラスタチェーン1202は、第1のファイル1212のためのクラスタ#6(エレメント1208)からクラスタ#9(エレメント1210)までのクラスタの第1のセットを含み、第2のファイル1214のためのクラスタ#10からクラスタ#11までのクラスタの第2のセットを含む。
It should be understood that a
さらに、プライマリFAT1200と対応する廃棄可能FAT1201とは2つ以上のクラスタチェーンを含み得るということを理解すべきである。例えば、図12aおよび12bに示されているように、プライマリFATは、クラスタ#6からクラスタ#11までのクラスタチェーン1202を含むことができ、クラスタ#20からクラスタ#22までの第2のクラスタチェーン1216を含むことができる。
Further, it should be understood that a primary FAT 1200 and a corresponding discardable FAT 1201 may include more than one cluster chain. For example, as shown in FIGS. 12a and 12b, the primary FAT can include a
他のインプリメンテーションでは、プライマリFAT1200と廃棄可能FAT1201とを使用するのではなくて、ファイルシステムは、前述したように、1つ以上のファイルをクラスタチェーンと関連付けるためにプライマリFAT1200を利用することができ、クラスタチェーンと関連付けられた1つ以上の廃棄可能ファイルの物理的位置を格納するために廃棄可能FATの代わりにデータベースまたは1つ以上の別々のロケーションファイルを利用することができる。データベースまたはロケーションファイルは、ファイルシステムの非廃棄可能領域に格納されるテキストファイルまたはバイナリファイルであり得る。 In other implementations, rather than using a primary FAT 1200 and a discardable FAT 1201, the file system may utilize the primary FAT 1200 to associate one or more files with the cluster chain, as described above. A database or one or more separate location files can be utilized in place of the discardable FAT to store the physical location of one or more discardable files associated with the cluster chain. The database or location file can be a text file or a binary file stored in a non-disposable area of the file system.
図13は、プライマリFATと廃棄可能FATとを用いて記憶装置を管理する方法である。図13は、図1と関連して記述される。ステップ1310で、ホスト140は、ファイル142を記憶装置100に格納する要求を受け取る。或るインプリメンテーションでは、ストレージアロケータ144は、ファイル142を記憶装置100に格納する要求を、ファイルと関連付けられている1つ以上の書き込み要求に基づいて導出する。
FIG. 13 shows a method for managing a storage device using a primary FAT and a discardable FAT. FIG. 13 is described in conjunction with FIG. In
ステップ1320で、ストレージアロケータ144は、前に記述したように記憶装置100と関連付けられているファイルシステム構造においてファイルを「廃棄可能」または「非廃棄可能」とマーキングする。ステップ1320で、ファイルは、廃棄優先レベルがファイルに割り当てられるという意味でもマーキングされる。
At step 1320,
ステップ1330で、ファイルが廃棄可能ファイルであるとき、ストレージアロケータ144は、ファイルに割り当てられるクラスタチェーンをファイルと関連付けるためにプライマリFATを更新する。ステップ1340で、ストレージアロケータ144は、記憶装置100におけるファイルの物理的位置を表すように廃棄可能FATを更新する。ステップ1350で、ストレージアロケータ144は、(ストレージコントローラ120との通信を通して)記憶装置100の記憶領域110を管理するか、あるいは記憶領域110に格納されているファイルをマーキングされているファイルに基づいて廃棄可能FATに従って管理する。記憶領域の管理は、図5に関連して前に記述したものと同様である。
In
図14は、FATとデータベースとを用いて記憶装置を管理する方法である。図14は、図1と関連して記述される。ステップ1410で、ホスト140は、ファイル142を記憶装置100に格納する要求を受け取る。ステップ1420で、ストレージアロケータ144は、前に記述したように記憶装置100と関連付けられているファイルシステム構造においてファイルを「廃棄可能」または「非廃棄可能」とマーキングする。ステップ1420で、ファイルは、廃棄優先レベルがファイルに割り当てられるという意味でもマーキングされる。
FIG. 14 shows a method for managing a storage device using a FAT and a database. FIG. 14 is described in conjunction with FIG. In
ステップ1430で、ファイルが廃棄可能ファイルであるとき、ストレージアロケータ144は、ファイルに割り当てられるクラスタチェーンをファイルと関連付けるためにFATを更新する。ステップ1440で、ストレージアロケータ144は、記憶装置100におけるファイルの物理的位置を表すようにデータベースを更新する。ステップ1450で、ストレージアロケータ144は、(ストレージコントローラ120との通信を通して)記憶装置100の記憶領域110を管理するか、あるいは記憶領域110に格納されているファイルをFATおよびデータベースに基づいて管理する。
In
図15は、FATとロケーションファイルとを用いて記憶装置を管理する方法である。図15は、図1と関連して記述される。ステップ1510で、ホスト140は、ファイル142を記憶装置100に格納する要求を受け取る。ステップ1520で、ストレージアロケータ144は、前に記述したように記憶装置100と関連付けられているファイルシステム構造においてファイルを「廃棄可能」または「非廃棄可能」とマーキングする。ステップ1520で、ファイルは、廃棄優先レベルがファイルに割り当てられるという意味でもマーキングされる。
FIG. 15 shows a method for managing a storage device using a FAT and a location file. FIG. 15 is described in conjunction with FIG. In
ステップ1530で、ファイルが廃棄可能ファイルであるとき、ストレージアロケータ144は、ファイルに割り当てられるクラスタチェーンをファイルと関連付けるためにFATを更新する。ステップ1540で、ストレージアロケータ144は、記憶装置100におけるファイルの物理的位置を表すようにロケーションファイルを更新する。ステップ1550で、ストレージアロケータ144は、(ストレージコントローラ120との通信を通して)記憶装置100の記憶領域110を管理するか、あるいは記憶領域110に格納されているファイルをFATおよびロケーションファイルに基づいて管理する。
In
さらに他のインプリメンテーションでは、セキュリティを強化し、dosfsck(fsck.vfatとしても知られている)またはchkdskなどのファイルシステム完全性ユーティリティによってファイルシステムが破壊されたり損なわれたりしないように、ストレージアロケータ144は、廃棄可能ファイルの物理的位置を記憶している廃棄可能FAT、データベース、あるいは1つ以上のロケーションファイルを読まなくてはクラスタチェーンが再構築され得ないことを保証するために、廃棄可能ファイル領域においてクラスタをクラスタチェーンにシーケンシャルに割り当てない。さらに、dosfsckなどのユーティリティが、廃棄可能ファイルを非廃棄可能ファイルに変えたり、ファイルが廃棄可能であることを示すファイルの上位ビットに存するフラグをリセットしたりしないように、クラスタチェーンのスクランブルされているクラスタのうちの1つ以上と関連付けられるレンジファイルがFATにおいて生成される。或るインプリメンテーションでは、ホストオペレーティングシステムがレンジファイルにアクセスすることを阻止するために、レンジファイルと関連付けられている隠し属性、システム属性、ディレクトリ属性、あるいはボリューム属性などの属性がイネーブルされ得る。 In yet other implementations, the storage allocator increases security and prevents the file system from being corrupted or compromised by file system integrity utilities such as dosfsck (also known as fsck.vfat) or chkdsk. 144 can be discarded to ensure that the cluster chain cannot be reconstructed without reading the discardable FAT, database, or one or more location files that store the physical location of the discardable file Do not assign clusters sequentially to the cluster chain in the file area. In addition, utilities such as dofsfsck have been scrambled in the cluster chain to avoid changing a discardable file to a non-disposable file or resetting a flag in the upper bits of the file indicating that the file can be discarded. A range file associated with one or more of the existing clusters is generated in the FAT. In some implementations, attributes such as hidden attributes, system attributes, directory attributes, or volume attributes associated with the range file may be enabled to prevent the host operating system from accessing the range file.
図16は、クラスタチェーンを含んでいて、そのクラスタチェーンを構成する2つ以上のクラスタの順序がスクランブルされているFATを表すチャートである。図16に示されているように、エントリ1602から始まるクラスタチェーンを構成するクラスタは連続していない。例えば、エントリ1602から始まるクラスタチェーンの順序はクラスタ#13、クラスタ#9、クラスタ#7、クラスタ#18、およびクラスタ#21である。このFATでは、図7および8に関して前に記述したように、各クラスタの値は、クラスタチェーン内の次のクラスタを指す。
FIG. 16 is a chart showing a FAT that includes a cluster chain and in which the order of two or more clusters constituting the cluster chain is scrambled. As shown in FIG. 16, the clusters constituting the cluster chain starting from the
1つ以上のファイルと関連付けられているクラスタチェーンを構成するクラスタの順序がスクランブルされていることに加えて、ファイルと関連付けられているクラスタチェーンの1つ以上のクラスタを含む1つ以上のレンジファイルがFATにおいて作成され得る。或るインプリメンテーションでは、各レンジファイルは、クラスタチェーンの一部であるクラスタの範囲の中の全てのクラスタを表すことができる。レンジファイルと、クラスタチェーンを構成するクラスタとが関連しているために、chkdskまたはfsck.vfatなどのユーティリティは廃棄可能ファイルを非廃棄可能ファイルに変えず、FATリカバリユーティリティは、ファイルが廃棄可能ファイルであるというFAT32エントリインジケーション内のフラグをリセットしない。 One or more range files that include one or more clusters in the cluster chain associated with the file, in addition to the scrambled order of the clusters that make up the cluster chain associated with the one or more files Can be created in FAT. In some implementations, each range file can represent all clusters in the range of clusters that are part of the cluster chain. Since the range file and the clusters constituting the cluster chain are related, chkdsk or fsck. Utilities such as vfat do not change a discardable file to a non-discardable file, and FAT recovery utilities do not reset the flag in the FAT32 entry indication that the file is a discardable file.
図17は、FAT内に作成された1つ以上のレンジファイルを示すチャートであり、その各々は、エントリ1602から始まるクラスタチェーンのうちの少なくとも1つのクラスタを記憶する。例えば、第1のレンジファイル1604は、エントリ1602から始まるクラスタチェーンからのクラスタ#7およびクラスタ#9を記憶し、第2のレンジファイル1606は、エントリ1602から始まるクラスタチェーンからのクラスタ#13、クラスタ#18、およびクラスタ#21を記憶する。
FIG. 17 is a chart showing one or more range files created in the FAT, each of which stores at least one cluster in the cluster chain starting at
レンジファイルは、2つ以上のクラスタチェーンからのクラスタを記憶することができる。例えば、エントリ1602から始まるクラスタチェーンからの上でリストされたクラスタのほかに、第1のレンジファイル1604は、エントリ1608から始まるクラスタチェーンからのクラスタ#5およびクラスタ#10を記憶することができる。同様に、エントリ1602から始まるクラスタチェーンからの上でリストされたクラスタのほかに、第2のレンジファイル1606は、エントリ1608から始まるクラスタチェーンからのクラスタ#16、クラスタ#17、およびクラスタ#22を記憶することができる。
A range file can store clusters from more than one cluster chain. For example, in addition to the clusters listed above from the cluster chain starting at
図18は、クラスタチェーンを構成する2つ以上のクラスタの順序がスクランブルされているFATを用いて記憶装置を管理する方法である。図18は、図1と関連して記述される。ステップ1810で、ホスト140は、ファイル142を記憶装置100に格納する要求を受け取る。ステップ1820で、ストレージアロケータ144は、前に記述したように記憶装置100と関連付けられているファイルシステム構造においてファイルを「廃棄可能」または「非廃棄可能」とマーキングする。ステップ1820で、ファイルは、廃棄優先レベルがファイルに割り当てられるという意味でもマーキングされる。
FIG. 18 shows a method for managing a storage device using a FAT in which the order of two or more clusters constituting a cluster chain is scrambled. FIG. 18 is described in conjunction with FIG. In
ステップ1830で、ファイルが廃棄可能ファイルであるとき、ストレージアロケータ144は、ファイルに割り当てられているクラスタチェーンをファイルと関連付けるためにFATを更新する。ステップ1840で、ファイルと関連付けられているクラスタチェーンの2つ以上のクラスタの順序は、記憶装置100内のメモリの量、クラスタチェーンの総サイズ、クラスタチェーンの2つの連続するクラスタの間のクラスタの数、ならびに/または消去ブロックサイズ、割り当てられたブロック内の各論理アドレスの物理的ブロックアドレス、および/または物理的ブロックアドレスと関連付けられている各ページのためのウェアレベリングデータを考慮できるフラッシュメモリ管理アルゴリズムなどの要素に基づいてFATの中でスクランブルされる。或るインプリメンテーションでは、クラスタチェーンの2つ以上のクラスタの順序は、擬似乱数発生器またはエントロピック乱数発生器を用いてスクランブルされ、前もって割り当てられていない各クラスタについて1つの範囲内のオフセットを提供する。他のインプリメンテーションでは、クラスタチェーンの2つ以上のクラスタの順序は、ホストシステム140および/または記憶装置100からの非決定論的な値を考慮に入れる単方向ハッシュ関数を用いてスクランブルされる。
In
ステップ1850で、第1のファイルと関連付けられているクラスタチェーンの少なくとも1つのクラスタを含む第1のレンジファイルがFATにおいて作成される。ステップ1860で、ストレージアロケータ144は、(ストレージコントローラ120との通信を通して)記憶装置100の記憶領域110を管理するか、あるいはFATおよびレンジファイルに基づいて記憶領域110に格納されているファイルを管理する。
At
さらに他のインプリメンテーションでは、廃棄可能ファイルがオープンである間にその廃棄可能ファイルが非廃棄可能ファイルに変換されないことを保証するために変換ロックを実行することができる。例えば、廃棄可能ファイルが記憶装置100にダウンロードされつつある期間中、あるいは廃棄可能ファイルと関連付けられている映画、歌、または番組と関連付けられているリリース日より前に廃棄可能ファイルが記憶装置100にダウンロードされる時などの、廃棄可能ファイルと関連付けられているデータが公衆にリリースされる前の期間中、廃棄可能ファイルはオープンであり得る。一般的に、変換ロックは、変換ロックがセットされているときには廃棄可能ファイルが非廃棄可能ファイルに変換され得ないように働く。
In yet other implementations, a conversion lock can be performed to ensure that the discardable file is not converted to a non-discardable file while it is open. For example, the discardable file is stored in the
図19は、廃棄可能ファイルの変換を、プライマリFATおよび廃棄可能FATを実装するファイルシステムにおいて廃棄可能ファイルがオープンであるときに阻止するために変換ロックを利用する方法である。図19は、図1と関連して記述される。ステップ1910で、ストレージアロケータ144は、廃棄可能ファイルを非廃棄可能ファイルに変換する要求を受け取る。ステップ1920で、ストレージアロケータ144は、廃棄可能ファイルと関連付けられている変換ロック識別子の値を識別する。ステップ1930で、ストレージアロケータ144は、変換ロック識別子の値に基づいて、廃棄可能ファイルが非廃棄可能ファイルに変換され得るかを判定する。通例、ストレージアロケータ144は、変換ロック識別子の値が廃棄可能ファイルがオープンであることを示しているときには廃棄可能ファイルは変換され得ないと判定し、ストレージアロケータ144は、変換ロック識別子の値が廃棄可能ファイルがオープンでないことを示しているときには廃棄可能ファイルは変換され得ると判定する。
FIG. 19 shows a method of using a conversion lock to prevent conversion of a discardable file when the discardable file is open in a file system that implements the primary FAT and the discardable FAT. FIG. 19 is described in conjunction with FIG. At
ステップ1930で廃棄可能ファイルが非廃棄可能ファイルに変換され得ないとストレージアロケータ144が判定すれば、ストレージアロケータ144はステップ1940で廃棄可能ファイルを非廃棄可能ファイルとマーキングすることを禁じる。しかし、廃棄可能ファイルが非廃棄可能ファイルに変換され得るとストレージアロケータ144がステップ1930で判定すれば、ストレージアロケータ144は先へ進み、ステップ1950で、ファイルを、記憶装置100と関連付けられているファイルシステム構造において非廃棄可能ファイルとマーキングし、ステップ1960でファイルの物理的位置を表すようにプライマリFATを更新し、ステップ1970でファイルの物理的位置を除去するために廃棄可能FATを更新する。
If the
前に記述した廃棄可能FATの代わりにプライマリFATと共にデータベースまたはロケーションファイルが使用されるときに類似の方法が変換ロックで実行されるということを理解すべきである。 It should be understood that a similar method is performed with a conversion lock when a database or location file is used with the primary FAT instead of the discardable FAT described above.
或るインプリメンテーションでは、アプリケーションは、アプリケーションと関連付けられている識別子に基づいて、廃棄可能ファイルの非廃棄可能ファイルへの変換あるいは変換ロック識別子の値のチェックなどの操作を実行することを許され得る。通例、廃棄可能ファイルを作成するかあるいはダウンロードするアプリケーションは、ユーザ識別子(ID)を廃棄可能ファイルと関連付けることができる。ユーザIDは、その廃棄可能ファイルを作成したアプリケーションまたはユーザを特定するオーナーユーザIDであり得る。或るインプリメンテーションでは、オーナーユーザIDは4バイト値である。 In some implementations, an application is allowed to perform operations such as converting a discardable file to a non-disposable file or checking the value of a conversion lock identifier based on an identifier associated with the application. obtain. Typically, an application that creates or downloads a discardable file can associate a user identifier (ID) with the discardable file. The user ID may be an owner user ID that identifies the application or user that created the discardable file. In some implementations, the owner user ID is a 4-byte value.
ファイルシステム160は、他のユーザまたはアプリケーションと関連付けられたどんな追加のユーザIDが廃棄可能ファイルにアクセスできるかを定義すると共に、追加のユーザIDが廃棄可能ファイルに関してどんなアクションを取り得るかを定義する能力をオーナーユーザIDに提供する。廃棄可能ファイルの使用法により、追加のユーザIDは単一のアプリケーションまたは単一のユーザと関連付けられることができ、あるいはその追加のユーザIDは多数のアプリケーションまたは多数のユーザと関連付けられる共有ユーザIDであることができるということを理解すべきである。
The
或るインプリメンテーションでは、オーナーユーザIDは、追加のユーザIDと関連付けられているアプリケーションが、廃棄可能ファイルと関連付けられているプレビューデータにアクセスすることを許可することができる。プレビューデータは廃棄可能ファイルの一部であり得るけれども、他のインプリメンテーションでプレビューデータは、廃棄可能ファイルとは別個のものであるけれども廃棄可能ファイルと関連付けられる。或る代表的なインプリメンテーションでは、廃棄可能ファイルは映画であって、プレビューデータは映画と関連付けられた映画予告編を含むことができ、廃棄可能ファイルはテレビ番組であって、プレビューデータはテレビ番組の一部を含むことができ、廃棄可能ファイルは音楽データであって、プレビューデータは音楽データの一部を含むことができ、あるいは廃棄可能ファイルはソフトウェアプログラムであって、プレビューデータはソフトウェアプログラムのデモ版を含むことができる。他の代表的なインプリメンテーションでは、プレビューデータは、廃棄可能ファイルと関連付けられているリリース日の前に廃棄可能ファイルにはアクセスされ得ないけれども廃棄可能ファイルと関連付けられているプレビューデータはアクセスされ、そのリリース日の後は廃棄可能ファイルおよびプレビューデータの両方がアクセスされ得るように、利用され得る。他の1つの例では、オーナーユーザIDは、追加のユーザIDと関連付けられているアプリケーションが廃棄可能ファイルに、廃棄可能ファイルと関連付けられているユーザIDに基づいて、書き込むことを許可することができる。 In some implementations, the owner user ID may allow an application associated with the additional user ID to access preview data associated with the discardable file. Although the preview data can be part of the discardable file, in other implementations the preview data is associated with the discardable file although it is separate from the discardable file. In one exemplary implementation, the discardable file is a movie, the preview data can include a movie trailer associated with the movie, the discardable file is a television program, and the preview data is a television program. The discardable file may be music data and the preview data may include a portion of the music data, or the discardable file may be a software program and the preview data may be a software program A demo version can be included. In other exemplary implementations, preview data cannot be accessed before the release date associated with the discardable file, but preview data associated with the discardable file is accessed. , After the release date, can be utilized so that both the discardable file and the preview data can be accessed. In another example, the owner user ID may allow an application associated with the additional user ID to write to the discardable file based on the user ID associated with the discardable file. .
或るインプリメンテーションでは、ファイルシステムは、追加のユーザIDと関連付けられているアプリケーションが廃棄可能ファイルに関してどんな操作を実行できるかをオーナーユーザIDが定義するためのパーミッションビットマスクを提供することができる。代表的な使用シナリオのためのパーミッションビットマスクの一例が図20に示されている。しかし、オーナーユーザIDが、図20に示されているパーミッションをオーバーライドし、追加のユーザIDに任意のパーミッションを割り当てることができるということを理解すべきである。 In some implementations, the file system can provide a permission bit mask for the owner user ID to define what operations the application associated with the additional user ID can perform on the discardable file. . An example of a permission bit mask for a typical usage scenario is shown in FIG. However, it should be understood that the owner user ID can override the permissions shown in FIG. 20 and assign arbitrary permissions to additional user IDs.
図20に示されているパーミッションを参照すると、プロパティ書き込みパーミッションビット2004がセットされているアプリケーションは、変換ロックをイネーブルあるいはディスエーブルする、タイムスタンプをセットするかあるいは消費意図ユニバーサルリソースインジケータ(「URI」)を書き込むなどの属性変更をすることができ、プロパティ読み出しパーミッションビット2002がセットされているアプリケーションは変換ロック、タイムスタンプ、あるいは消費意図URIなどの属性を読み出すことができる。優先順位パーミッションビット2006がセットされているアプリケーションは、廃棄可能ファイルの優先レベルを変更することができる。プレビュー読み出しパーミッションビット2008がセットされているアプリケーションは、廃棄可能ファイルと関連付けられているプレビューデータを読み出すことができ、プレビュー書き込みパーミッションビット2010がセットされているアプリケーションは、廃棄可能ファイルと関連付けられているプレビューデータを書き込むことができる。読み出しパーミッションビット2012がセットされているアプリケーションは廃棄可能ファイルを読み出すことができ、書き込みパーミッションビット2014がセットされているアプリケーションは廃棄可能ファイルに書き込むことができる。通例、廃棄可能ファイルと関連付けられているオーナーユーザIDと関連付けられているアプリケーションだけがこれらのパーミッションを有する。変換パーミッションビット2016がセットされているアプリケーションは、廃棄可能ファイルを非廃棄可能ファイルに変換することができる。
Referring to the permissions shown in FIG. 20, an application whose property write
ファイルをマーキングし、関連付けられているファイルシステムにおいてそれらに廃棄レベルを割り当てる、本願明細書に開示されている方法は、多くの有益な用途を持つことができ、そのうちの1つは、ユーザファイルのために充分な記憶スペースを保証するためにストレージ使用安全マージンを回復することであるということが特に言及される。例えば、ファイルに割り当てられた廃棄レベルは、ファイルクラスタを下位動作のフラッシュモジュールに再マッピングするかあるいは要求があり次第クラスタをクリアするために使用され得る。 The method disclosed herein of marking files and assigning discard levels to them in the associated file system can have many beneficial uses, one of which is the user file In particular, it is mentioned that the storage usage safety margin is restored in order to guarantee sufficient storage space. For example, the discard level assigned to a file can be used to remap the file cluster to a lower-level flash module or to clear the cluster on demand.
大きなファイルのためのスマートキャッシング
前に記述した、スマートキャッシングとも呼ばれる、データを管理する方法にさらに加えて、またその両方が本願明細書において参照により援用されている、2008年12月16日に出願された係属中の米国特許出願第12/336,089号(特許文献3)と、2009年3月10日に出願された係属中の米国仮特許出願第61/159,034号(特許文献4)とに記載されているスマートキャッシングの記述および特徴にさらに加えて、大きな廃棄可能ファイルのためのスマートキャッシング手法が提供される。ここでスマートキャッシングHDとも呼ばれるこの大ファイルスマートキャッシングは、前述した開示からのいくつかの変化および拡張を含む。スマートキャッシングHDは、4GBより大きなファイルのためのサポートに関して、変換時のそのようなファイルの分割を、それらが廃棄可能である間それらの大きな(>4GB)ステータスを維持しながら、インテリジェントに処理するラージファイルマネージャが付加されているという点で、スマートキャッシングと異なる。具体的には、これらのファイルの管理および検索と、一連のより小さなファイルとしてではなくて単一の単位としてのそれらの廃棄とを考慮に入れる。
In addition to the method of managing data, also referred to as smart caching, described before smart caching for large files , filed December 16, 2008, both of which are hereby incorporated by reference. Pending US patent application Ser. No. 12 / 336,089 and pending US provisional patent application No. 61 / 159,034 filed Mar. 10, 2009 (Patent Document 4). In addition to the smart caching descriptions and features described in), a smart caching approach for large discardable files is provided. This large file smart caching, also referred to herein as smart caching HD, includes several changes and enhancements from the foregoing disclosure. Smart Caching HD intelligently handles splitting such files during conversion while maintaining their large (> 4 GB) status while they can be discarded, with support for files larger than 4 GB It differs from smart caching in that a large file manager is added. Specifically, it takes into account the management and retrieval of these files and their disposal as a single unit rather than as a series of smaller files.
コンポーネント
スマートキャッシングのコンポーネントは図21のブロック図に記載されている。スマートキャッシングのコンポーネント2100は、ANDROID、WINDOWSまたはLINUXなどの多数のオペレーティングシステムのうちのいずれとも関連して操作され得る。代わりに、ここで論じられるスマートキャッシング手法は、オペレーティングシステムを持たないメモリカードなどの記憶媒体上で実行され得る。スマートキャッシングHDのために付け加えられた新しいコンポーネントはラージファイルマネージャ2102であり、サイズが4GBより大きいファイルを処理する。ラージファイルマネージャは、以下でより詳しく記述される。
The components smart caching components are described in the block diagram of FIG. The smart caching component 2100 can be operated in conjunction with any of a number of operating systems such as ANDROID, WINDOWS or LINUX. Alternatively, the smart caching techniques discussed herein can be performed on a storage medium such as a memory card that does not have an operating system. A new component added for smart caching HD is the
大きな廃棄可能ファイル
廃棄可能ファイルを包含するファイルシステムは、図22のファイルシステム構造に示されているように概念的に編成される。ファイルシステムは、構造に関して、SD−HC(および対応する高容量μSD)カードに見出される標準的なFAT32ファイルシステムに類似する。廃棄可能ファイルHDのインプリメンテーションでは、廃棄可能ファイルはシャドウFATに格納される。
Large Discardable Files A file system that contains a discardable file is conceptually organized as shown in the file system structure of FIG. The file system is similar in structure to the standard FAT32 file system found on SD-HC (and corresponding high capacity μSD) cards. In the implementation of the discardable file HD, the discardable file is stored in the shadow FAT.
シャドウFAT
最初の2つのFATテーブルは、ファイルの優先順位を示すけれどもその実際のチェーンを示さない0xpFFFFFFF(EOF)または0xp00000000(未割り当て)値だけを用いて廃棄可能クラスタを割り当てる。最上位ニブルが非ゼロであれば、実際のクラスタチェーンのシーケンスを判定するために第3のFATテーブルが考慮される。最初の2つのFATテーブルの場合とは違って、廃棄可能FAT(DFAT)テーブルは、4GBより長いクラスタチェーンを包含することができる。
Shadow FAT
The first two FAT tables allocate discardable clusters using only 0xpFFFFFFF (EOF) or 0xp00000000 (unassigned) values that indicate the priority of the file but not its actual chain. If the most significant nibble is non-zero, a third FAT table is considered to determine the actual cluster chain sequence. Unlike the first two FAT tables, the Discardable FAT (DFAT) table can contain a cluster chain longer than 4 GB.
ディレクトリテーブル
廃棄可能ファイルのためのディレクトリエントリは、次のエレメントを有する。暗号化され得るエレメントは、システムの暗号化された変形例においてblob(バイナリラージオブジェクト)として表され、それらは単一のblobに統合され得る。これらのフィールドがここに記述される。
A directory entry for a directory table discardable file has the following elements: Elements that can be encrypted are represented as blobs (binary large objects) in an encrypted variant of the system, and they can be combined into a single blob. These fields are described here.
ラージファイルマネージャ
ラージファイルマネージャ(LFM)は、4GBより大きいファイルを処理するためにスマートキャッシングHD内に実装されるプロセスハンドラである。概念的には、LFMは、図23に示されているように、ファイルパーサと定義済み分割アルゴリズムのセットとから成る。LFMは、ホスト、あるいは他のスマートキャッシングコンポーネントが記憶装置上に存在する場合には記憶装置に実装され得る。
Large File Manager The Large File Manager (LFM) is a process handler that is implemented in smart caching HD to process files larger than 4GB. Conceptually, the LFM consists of a file parser and a set of predefined partitioning algorithms, as shown in FIG. The LFM can be implemented in a storage device if a host, or other smart caching component, is present on the storage device.
ファイルパーサは、ファイル(Linuxファイルコマンドで使用されるものなど)を識別し、MIMEタイプを、それが廃棄可能ファイルディレクトリエントリに格納されていた場合に、考慮する周知の方法を使用する。タイプデータベースは、LFM内に組み込まれている、ファイルタイプと、それらに対応する分割ハンドラとの簡単なテーブルである。図は3つの分割ハンドラを示しているけれども、必要に応じて追加の分割ハンドラが組み込まれ得る。通例、分割ハンドラは、
廃棄可能ファイルの構造をベリファイし、
ファイルが分割されるセグメントの総数を計算し(これは通例、4GBで割られたファイルのサイズであろうが、ファイルフォーマット制約が追加のファイルを必要とすることがある)、
ファイルの各セグメントのためにヘッダを作成し、かつ
各セグメント境界のオフセットを計算するためのインターフェイスを有する。
The file parser identifies the file (such as that used in the Linux file command) and uses a well-known method that considers the MIME type if it was stored in a discardable file directory entry. The type database is a simple table of file types and their corresponding split handlers that are incorporated in the LFM. Although the figure shows three split handlers, additional split handlers can be incorporated as needed. Usually, the split handler is
Verify the structure of the disposable file,
Calculate the total number of segments into which the file is split (this will usually be the size of the file divided by 4GB, but file format constraints may require additional files)
It has an interface for creating a header for each segment of the file and calculating the offset of each segment boundary.
ファイルの実際の分割は、以下で記述されるように変換中に行われる。
変換フロー
スマートキャッシングHDにおける変換フローは図24に示されている。プロセス2400は、ステップ2402におけるアプリケーションによるconvert()関数の呼出しから始まる。convert()関数は、ステップ2404で(スマートキャッシングアプリケーションに記載されているように)課金メカニズムを介して変換プロセスを許可する。ステップ2406で変換が許可されなければ、ステップ2407でセキュリティ例外が結果として生じる。ステップ2406で変換が許可されれば、次のステップは、ステップ2408でファイルシステムを変換プロセス中に他のプロセスおよびデバイスドライバがそれを改変しないようにロックすると共に、プロセスが終わった後にファイルシステムのリフレッシュを考慮することである。その後、ステップ2410および2412で、変換されるべきファイルのためのクラスタチェーンがボリュームのFAT1およびFAT2テーブルにおいて割り当てられて、チェーンをdosfsck保護目的で置かれている既存のプレースホルダファイルから切り離し、必要ならばクラスタチェーンを再順序付けする。ステップ2414でファイルの全長が4GB未満であるならば、ステップ2416、2418、2420、および2422でファイルのためのディレクトリエントリが作成され、ステップ2424でファイルシステムがアンロックされてリフレッシュされ、convert()フローをステップ2426で終了させる。
The actual division of the file is done during conversion as described below.
Conversion Flow The conversion flow in smart caching HD is shown in FIG. Process 2400 begins with a call to convert () function by the application in
ファイルの全長が4GBより大きければ、プロセスはステップ2428に進む。4GBより大きいファイルは一般的にHDメディアファイルであり、それはシーケンシャルに再生されるセグメントに分割され得る。それらのセグメントは再生中互いにリンクされることができて、シームレスの再生体験を提供する。しかし、ファイルを4GBセグメントに単純に分割すれば、ファイルをフレームの中央で切断するか、あるいはセグメントのうちの1つ以上がファイルを識別または再生するのに必要なメタデータ(ファイルヘッダなど)を失うことになり得る。従って、各セグメントは、フォーマットに適する、LFMにより生成されたメタデータヘッダから始まる。文書あるいは実行可能ファイルなどの或るファイルタイプは本来セグメントに分かれず、それらのファイルを、この方針を用いてより小さなセグメントに変換することはできない。そのようなファイルでは、ラージファイルマネージャはZIPなどの圧縮ライブラリを使用することができ、ファイルの順序を保ちながら分割をサポートする。ラージファイルマネージャは、ファイルを変換するとき、図25に示されているフローを使用する。 If the total length of the file is greater than 4 GB, the process proceeds to step 2428. Files larger than 4 GB are typically HD media files, which can be divided into segments that are played sequentially. Those segments can be linked together during playback, providing a seamless playback experience. However, simply splitting the file into 4GB segments cuts the file at the center of the frame, or the metadata (such as the file header) that one or more of the segments needs to identify or play the file. You can lose. Thus, each segment begins with a metadata header generated by the LFM that is suitable for the format. Certain file types, such as documents or executable files, are not inherently segmented, and those files cannot be converted to smaller segments using this strategy. For such files, the large file manager can use a compression library such as ZIP and supports splitting while preserving the order of the files. The large file manager uses the flow shown in FIG. 25 when converting a file.
4GBより長いファイルを管理するプロセス2500は、アプリケーションによる返還要求でステップ2502から始まる。ステップ2504でファイルのヘッダが読み出され、ステップ2506でファイルが既知のタイプのものであるかが判定される。ファイルが既知のタイプのものでなければ、プロセスはステップ2508に進み、ここでファイルは、一般的方法を用いてスパンされて多数のファイルとされ、ステップ2510で、それらのスパンされたファイルに対して変換プロセスが続く。
The
ステップ2506でファイルが既知のタイプのものであれば、スパンして多数のファイルにすることをファイルタイプがサポートするかがステップ2512で判定される。スパンして多数のファイルとすることをファイルタイプがサポートするならば、ステップ2510に進む前にステップ2514でファイルタイプに特有の方法を用いてファイルはスパンされて多数のファイルにされる。しかし、スパンして多数のファイルとすることをファイルタイプがサポートしなければ、ステップ2510に進む前にステップ2508で一般的方法を用いてファイルはスパンされて多数のファイルとされる。
If the file is of a known type at
ファイルタイプに特有の方法の例として、図26は、高精細度ビデオストリームでよく使われるオープンソースのマトロスカ(mkv)コンテナファイルフォーマットの略図を描いている。マトロスカファイルは、通例、1つのセグメントが続くファイルヘッダ(拡張可能なバイナリのメタ言語(EBML(Extensible Binary Meta-Language) ヘッダ)から成り、タグで終了する。これらのファイルは4GBより長いことがあるけれども、そのような大きなファイルはFAT32ファイルシステムでは有効に表現され得ない。これらのファイルを分割するには、セグメント自体が多数のファイルに分割され、その各々はそれ自身のEBMLヘッダおよびセグメントヘッダを有する。次のように、セグメントヘッダの中には、分割されているファイル同士をリンクするのに役立つフィールドがある。
As an example of a method specific to the file type, FIG. 26 depicts a schematic diagram of an open source Matroska (mkv) container file format commonly used in high definition video streams. A Matroska file usually consists of a file header followed by a segment (Extensible Binary Meta-Language (EBML) header) and ends with a tag. These files can be longer than 4 GB. Although such large files cannot be effectively represented in the FAT32 file system, to divide these files, the segment itself is divided into multiple files, each of which has its own EBML header and segment header. There are fields in the segment header that are useful for linking files that have been split:
マトロスカファイルを分割するプロセスは、各々の分割セグメントのために新しいMKVファイルを割り当て作成することと、各セグメントのためにEBMLヘッダと書き直されたセグメントヘッダとを付加することとを含む。 The process of splitting the Matroska file includes assigning and creating a new MKV file for each split segment, and adding an EBML header and a rewritten segment header for each segment.
ラージファイルマネージャは、マトロスカなどの種々のファイルタイプのためのサポートを組み込み、各々の場合に、各ファイルタイプのための特有の分割ハンドラを用いることにより、ファイルタイプのためにインプレース分割をトランスペアレントに実行する。インプレース分割は、図27に示されているように新しいヘッダ情報を包含するクラスタをクラスタチェーンに付加し、次に、各ファイルのために新しいディレクトリエントリを付加すると共に各々にチェーン内の適切な箇所でFCNを割り当てることによってクラスタチェーンを多数のファイルに分割することによって、ファイルの中のデータを移動させることなく行われる。(チェーンにおいてFCNの直前のクラスタ番号はEOFマーカーを示す。)ラージファイルマネージャに包含される、他のファイルタイプのための同様のフローが存在する。ラージファイルマネージャはファイルタイプを自動的に検出して、それに応じてインプレース分割を引き起こす。 The large file manager incorporates support for various file types, such as Matroska, and in each case uses a unique split handler for each file type to make in-place splitting transparent for the file type. Run. In-place partitioning adds a cluster containing the new header information to the cluster chain as shown in FIG. 27, then adds a new directory entry for each file and the appropriate By dividing the cluster chain into a number of files by assigning FCNs at locations, this is done without moving the data in the files. (The cluster number immediately preceding the FCN in the chain indicates the EOF marker.) There are similar flows for other file types that are included in the large file manager. The large file manager automatically detects the file type and causes in-place splitting accordingly.
本願は、記憶装置を管理する方法およびシステムを含む。1つのインプリメンテーションでは、ホストまたは記憶装置に存在するストレージアロケータが、記憶装置の記憶領域にファイルを格納する要求を受け取る。ストレージアロケータは、記憶装置と関連付けられているファイルシステム構造においてファイルを廃棄可能とマーキングし、ファイルに割り当てられているクラスタチェーンをファイルと関連付けるために主ファイルアロケーションテーブル(「FAT」)を更新する。ストレージアロケータは、さらに、ファイルの物理的位置を表すように廃棄可能FATまたはデータベースを更新するか、あるいはファイルの物理的位置を記憶する1つ以上のロケーションファイルを生成することができる。ストレージアロケータは、その後、FATとファイルの物理的位置を示す廃棄可能FAT、データベース、または1つ以上のロケーションファイルとに基づいて記憶領域装置を管理する。 The present application includes methods and systems for managing storage devices. In one implementation, a storage allocator residing on a host or storage device receives a request to store a file in a storage area of the storage device. The storage allocator marks the file as discardable in the file system structure associated with the storage device and updates the primary file allocation table (“FAT”) to associate the cluster chain assigned to the file with the file. The storage allocator can also update the discardable FAT or database to represent the physical location of the file, or generate one or more location files that store the physical location of the file. The storage allocator then manages the storage area device based on the FAT and a discardable FAT that indicates the physical location of the file, a database, or one or more location files.
多数の方法およびシステムが上記のように開示され、多数の方法で実行され得る。インプリメンテーションの組み合わせのほんのいくつかの例が以下で提供されるけれども、それらは限定するものではなくて、追加の特徴および組み合わせが考えられる。 Numerous methods and systems are disclosed as described above and can be implemented in numerous ways. Although only a few examples of implementation combinations are provided below, they are not limiting and additional features and combinations are possible.
1つのインプリメンテーションでは、記憶装置を管理する第1の方法は、記憶装置が動作可能に結合されているホストにおいて、プライマリFATと、さらに廃棄可能FATとを包含する記憶装置の記憶領域に第1のファイルを格納する要求を受け取ることと、第1のファイルを廃棄可能とマーキングすることであって、第1のファイルをマーキングすることが記憶装置と関連付けられているファイルシステム構造において行われることと、第1のファイルに割り当てられているクラスタチェーンを第1のファイルと関連付けるために、記憶装置にプライマリFATを更新させることと、記憶装置における第1のファイルの物理的位置を表すように、記憶装置に廃棄可能FATを更新させることと、廃棄可能FATに従って記憶装置の記憶領域を管理することと、を含むことができる。 In one implementation, a first method for managing a storage device is the first method in a storage area of a storage device that includes a primary FAT and a discardable FAT at a host to which the storage device is operatively coupled. Receiving a request to store one file and marking the first file as discardable, wherein the first file is marked in the file system structure associated with the storage device To associate the cluster chain assigned to the first file with the first file, to cause the storage device to update the primary FAT, and to represent the physical location of the first file in the storage device, Causing the storage device to update the discardable FAT and storing the storage device in accordance with the discardable FAT; And to manage, it can contain.
この方法では、クラスタチェーンは少なくとも第1のファイルの物理的位置をマスクし、プライマリFATのクラスタチェーンは廃棄可能FAT内の位置を指すことができる。廃棄可能FATに従う記憶装置の記憶領域の管理は、廃棄可能とマーキングされている1つ以上のファイルを選択的に除去することによるストレージ使用安全マージンの回復、廃棄可能とマーキングされている全てのファイルを除去することによる記憶領域の解放、あるいはより低い性能の記憶モジュールへの第1のファイルのクラスタの再マッピングのいずれか1つまたは組み合わせを含むことができる。 In this manner, the cluster chain masks at least the physical location of the first file, and the primary FAT cluster chain may point to a location in the discardable FAT. Storage area management of storage devices in accordance with the Discardable FAT is a recovery of storage usage safety margin by selectively removing one or more files that are marked as Discardable, all files that are marked as Discardable Any one or a combination of freeing storage by removing or remapping the cluster of the first file to a lower performance storage module.
第1の方法は、ホストオペレーティングシステムが第1のファイルにアクセスすることを阻止することを第1のファイルと関連付けられている属性により可能にすることをも含むことができる。あるいは、第1の方法は、記憶装置の記憶領域に第2のファイルを格納する要求を受け取ることと、第2のファイルを廃棄可能とマーキングすることであって、第2のファイルをマーキングすることが記憶装置と関連付けられているファイルシステム構造において行われることと、第1のファイルおよび第2のファイルと関連付けられるクラスタチェーンを第2のファイルと関連付けるために、記憶装置にプライマリFATを更新させることと、第2のファイルの物理的位置を表すように、記憶装置に廃棄可能FATを更新させることと、をも含むことができる。クラスタチェーンは、第1のファイルおよび第2のファイルの物理的位置をマスクすることができる。 The first method may also include allowing an attribute associated with the first file to prevent the host operating system from accessing the first file. Alternatively, the first method is to receive a request to store the second file in a storage area of the storage device and to mark the second file as discardable, and to mark the second file Is performed in the file system structure associated with the storage device and causes the storage device to update the primary FAT to associate the cluster chain associated with the first file and the second file with the second file. And causing the storage device to update the discardable FAT to represent the physical location of the second file. The cluster chain can mask the physical location of the first file and the second file.
前述した第1の方法は、記憶装置の記憶領域に第2のファイルを格納する要求を受け取ることと、第2のファイルを廃棄可能とマーキングすることであって、第2のファイルをマーキングすることが記憶装置と関連付けられているファイルシステム構造において行われることと、第2のファイルに割り当てられている第2のクラスタチェーンを第2のファイルと関連付けるために、記憶装置にプライマリFATを更新させることと、第2のファイルの物理的位置を表すように、記憶装置に廃棄可能FATを更新させることと、をも含むことができる。 The first method described above is to receive a request to store a second file in a storage area of a storage device and to mark the second file as discardable, and to mark the second file Is performed in the file system structure associated with the storage device and causes the storage device to update the primary FAT to associate the second cluster chain assigned to the second file with the second file And causing the storage device to update the discardable FAT to represent the physical location of the second file.
第1の方法は、代わりに、第1のファイルを非廃棄可能ファイルとマーキングすることであって、第1のファイルをマーキングすることが記憶装置と関連付けられているファイルシステム構造において行われることと、第1のファイルの物理的位置を表すように、記憶装置にプライマリFATを更新させることと、第1のファイルの物理的位置を除去するために、記憶装置に廃棄可能FATを更新させることと、を含むことができる。第1の方法のこの代案は、第1のファイルが廃棄可能ファイルから非廃棄可能ファイルに変換され得るかを判定するために第1のファイルと関連付けられている変換ロック識別子の値を識別することをさらに含むことができ、第1のファイルと関連付けられている変換ロック識別子の値の判定が第1のファイルがロックされていないことを示した後に、第1のファイルは非廃棄可能ファイルとマーキングされる。 The first method is instead to mark the first file as a non-disposable file, wherein marking the first file is performed in a file system structure associated with the storage device; Causing the storage device to update the primary FAT to represent the physical location of the first file; and causing the storage device to update the discardable FAT to remove the physical location of the first file. , Can be included. This alternative of the first method identifies the value of the conversion lock identifier associated with the first file to determine whether the first file can be converted from a discardable file to a non-disposable file. The first file is marked as a non-disposable file after the determination of the value of the conversion lock identifier associated with the first file indicates that the first file is not locked. Is done.
第1の方法の他の1つの代案では、第1のファイルが廃棄可能ファイルから非廃棄可能ファイルに変換され得るかを判定するために第1のファイルと関連付けられている変換ロック識別子の値を識別することと、第1のファイルと関連付けられている変換ロック識別子の値の判定が第1のファイルがロックされていることを示した後に、第1のファイルを非廃棄可能とマーキングすることを禁じることとがさらに含まれ得る。第1の方法は、代わりに、ユーザIDと、第1のファイルと関連付けられているプレビューファイルとに関連付けられているファイルパーミッションを識別することと、識別されたファイルパーミッションに基づいて第1のファイルと関連付けられているプレビューファイルへのアクセスを管理することとを含むことができる。ユーザIDは共有ユーザIDであり得る。 In another alternative of the first method, the value of the conversion lock identifier associated with the first file to determine whether the first file can be converted from a discardable file to a non-discardable file. Identifying and marking the first file as non-disposable after the determination of the value of the conversion lock identifier associated with the first file indicates that the first file is locked. Further prohibiting may be included. The first method instead identifies the file ID associated with the user ID and the preview file associated with the first file, and the first file based on the identified file permission. Managing access to a preview file associated with the. The user ID may be a shared user ID.
第1の方法において、第1のファイルを廃棄可能とマーキングすることは、廃棄優先レベルを第1のファイルに割り当てることを含むことができる。さらに、第1のファイルに廃棄優先レベルを割り当てることは、対応する値を、第1のファイルに対応するプライマリFATエントリ内のm個の最上位ビットにセットすること、あるいは対応する値を、第1のファイルに対応するファイルシステムエントリ内のデータフィールドにセットすることのうちの少なくとも1つを含むことができる。廃棄優先レベルは、第1のファイルの予想される使用、第1のファイルの使用と関連付けられる予想される収益、第1のファイルのファイルタイプ、第1のファイルのサイズ、記憶装置における第1のファイルの位置、および第1のファイルの古さのうちのいずれか1つに従って第1のファイルに割り当てられることができる。 In the first method, marking the first file as discardable can include assigning a discard priority level to the first file. Further, assigning a discard priority level to the first file sets the corresponding value to the m most significant bits in the primary FAT entry corresponding to the first file, or sets the corresponding value to the first It may include at least one of setting in a data field in a file system entry corresponding to a file. The discard priority level is the expected usage of the first file, the expected revenue associated with the usage of the first file, the file type of the first file, the size of the first file, the first in the storage device The first file can be assigned according to any one of the location of the file and the age of the first file.
他の1つのインプリメンテーションでは、記憶装置を管理する第2の方法は、ホストに動作可能に結合されている記憶装置において、プライマリFATと、さらに廃棄可能FATとを包含する記憶装置の記憶領域に第1のファイルを格納する要求を受け取ることと、第1のファイルを廃棄可能とマーキングすることであって、第1のファイルをマーキングすることが記憶装置と関連付けられているファイルシステム構造において行われることと、第1のファイルに割り当てられているクラスタチェーンを第1のファイルと関連付けるために、プライマリFATを更新することと、記憶装置における第1のファイルの物理的位置を表すように、廃棄可能FATを更新することと、記憶装置の記憶領域を廃棄可能FATに従って管理することと、を含むことができる。クラスタチェーンは、少なくとも第1のファイルの物理的位置をマスクすることができる。第2の方法は、ホストオペレーティングシステムが第1のファイルにアクセスすることを阻止することを第1のファイルと関連付けられている属性により可能とすることをさらに含むことができる。プライマリFATのクラスタチェーンは、廃棄可能FAT内の位置を指すことができる。 In another implementation, a second method of managing a storage device is a storage device storage region that includes a primary FAT and a discardable FAT in a storage device operably coupled to a host. Receiving a request to store the first file in the file system and marking the first file as discardable, wherein marking the first file is performed in a file system structure associated with the storage device. To update the primary FAT to associate the cluster chain assigned to the first file with the first file, and to represent the physical location of the first file in the storage device Updating the possible FAT, managing the storage area of the storage device according to the discardable FAT, It can be included. The cluster chain can mask at least the physical location of the first file. The second method can further include allowing an attribute associated with the first file to prevent the host operating system from accessing the first file. The primary FAT cluster chain may point to a location in the discardable FAT.
1つの変形例では、第2の方法は、第2のファイルを記憶装置の記憶領域に格納する要求を受け取ることと、記憶装置と関連付けられているファイルシステム構造において第2のファイルを廃棄可能とマーキングすることと、クラスタチェーンが第1のファイルおよび第2のファイルと関連付けられるクラスタチェーンを第2のファイルと関連付けるために、プライマリFATを更新することと、第2のファイルの物理的位置を表すように、廃棄可能FATを更新することと、をさらに含むことができる。この変形例では、クラスタチェーンは、第1のファイルおよび第2のファイルの物理的位置をマスクすることができる。 In one variation, the second method can receive a request to store the second file in a storage area of the storage device and can discard the second file in the file system structure associated with the storage device. Marking, updating the primary FAT to associate the cluster chain with which the cluster chain is associated with the first file and the second file with the second file, and representing the physical location of the second file And updating the discardable FAT. In this variation, the cluster chain can mask the physical location of the first file and the second file.
他の1つのインプリメンテーションでは、第2の方法は、記憶装置の記憶領域に第2のファイルを格納する要求を受け取ることと、記憶装置と関連付けられているファイルシステム構造において第2のファイルを廃棄可能とマーキングすることと、第2のファイルに割り当てられている第2のクラスタチェーンを第2のファイルと関連付けるために、プライマリFATを更新することと、第2のファイルの物理的位置を表すように、廃棄可能FATを更新することと、をさらに含むことができる。 In another implementation, the second method receives a request to store the second file in a storage area of the storage device, and stores the second file in the file system structure associated with the storage device. Marking discardable, updating the primary FAT to associate the second cluster chain assigned to the second file with the second file, and representing the physical location of the second file And updating the discardable FAT.
代わりに、第2の方法は、記憶装置と関連付けられているファイルシステム構造において第1のファイルを非廃棄可能ファイルとマーキングすることと、第1のファイルの物理的位置を表すように、プライマリFATを更新することと、第1のファイルの物理的位置を除去するために、廃棄可能FATを更新することと、をさらに含むことができる。第2の方法のこの代案は、第1のファイルが廃棄可能ファイルから非廃棄可能ファイルに変換され得るかを判定するために第1のファイルと関連付けられている変換ロック識別子の値を識別することをさらに含むことができ、第1のファイルと関連付けられている変換ロック識別子の値の判定が第1のファイルがロックされていないことを示した後に、第1のファイルは非廃棄可能ファイルとマーキングされる。 Instead, the second method uses the primary FAT to mark the first file as a non-disposable file in the file system structure associated with the storage device and to represent the physical location of the first file. And updating the discardable FAT to remove the physical location of the first file. This alternative of the second method identifies the value of the conversion lock identifier associated with the first file to determine whether the first file can be converted from a discardable file to a non-discardable file. The first file is marked as a non-disposable file after the determination of the value of the conversion lock identifier associated with the first file indicates that the first file is not locked. Is done.
第2の方法の他の1つのバージョンは、第1のファイルが廃棄可能ファイルから非廃棄可能ファイルに変換され得るかを判定するために第1のファイルと関連付けられている変換ロック識別子の値を識別することと、第1のファイルと関連付けられている変換ロックの値の判定が第1のファイルがロックされていることを示した後に、第1のファイルを非廃棄可能とマーキングすることを禁じることと、をさらに含む。第2のさらに他の1つのバージョンは、ユーザIDと、第1のファイルと関連付けられているプレビューファイルとに関連付けられているファイルパーミッションを識別することと、識別されたファイルパーミッションに基づいて第1のファイルと関連付けられているプレビューファイルへのアクセスを管理することと、をさらに含む。ユーザIDは共有ユーザIDであり得る。 Another version of the second method uses the value of the conversion lock identifier associated with the first file to determine whether the first file can be converted from a discardable file to a non-discardable file. Prohibiting marking the first file as non-disposable after identifying and determining the value of the conversion lock associated with the first file indicates that the first file is locked And further. The second further one version identifies the file permissions associated with the user ID and the preview file associated with the first file, and the first based on the identified file permissions. Managing access to a preview file associated with the file. The user ID may be a shared user ID.
第2の方法では、第1のファイルを廃棄可能とマーキングすることは、廃棄優先レベルを第1のファイルに割り当てることを含むことができる。第1のファイルに廃棄優先レベルを割り当てることは、対応する値を、第1のファイルに対応するプライマリFATエントリ内のm個の最上位ビットにセットすること、あるいは対応する値を、第1のファイルに対応するファイルシステムエントリ内のデータフィールドにセットすることのうちの少なくとも1つを含むことができる。あるいは、廃棄優先レベルは、第1のファイルの予想される使用、第1のファイルの使用と関連付けられる予想される収益、第1のファイルのファイルタイプ、第1のファイルのサイズ、記憶装置における第1のファイルの位置、および第1のファイルの古さのうちのいずれか1つに従って第1のファイルに割り当てられることができる。 In the second method, marking the first file as discardable can include assigning a discard priority level to the first file. Assigning a discard priority level to the first file sets the corresponding value to the m most significant bits in the primary FAT entry corresponding to the first file, or sets the corresponding value to the first It may include at least one of setting in a data field in the file system entry corresponding to the file. Alternatively, the discard priority level may be the expected usage of the first file, the expected revenue associated with the usage of the first file, the file type of the first file, the size of the first file, the number in the storage device. The first file can be assigned according to any one of the location of the file and the age of the first file.
第2の方法では、廃棄可能FATに従う記憶装置の記憶領域を管理することは、廃棄可能とマーキングされている1つ以上のファイルを選択的に除去することによるストレージ使用安全マージンの回復、廃棄可能とマーキングされている全てのファイルを除去することによる記憶領域の解放、あるいはより低い性能の記憶モジュールへの第1のファイルのクラスタの再マッピングのいずれか1つまたはこれらの組み合わせを含むことができる。 In the second method, managing the storage area of the storage device in accordance with the discardable FAT recovers the storage usage safety margin by selectively removing one or more files that are marked as discardable. One or a combination of either freeing storage by removing all files marked as, or remapping the cluster of the first file to a lower performance storage module .
記憶装置を管理するためのストレージアロケータは、記憶装置および記憶装置のホストとインターフェイスするための通信インターフェイスと、記憶装置と関連付けられているファイルシステムを格納するためのストレージユニットと、記憶装置と関連付けられているファイルシステムを管理するためのプロセッサと、を備えることができ、プロセッサは、プライマリFATと、さらに廃棄可能FATとを包含する記憶装置の記憶領域に第1のファイルを格納する要求を受け取り、第1のファイルの廃棄可能とのマーキングを、記憶装置と関連付けられているファイルシステム構造において行い、第1のファイルに割り当てられているクラスタチェーンを第1のファイルと関連付けるために、記憶装置にプライマリFATを更新させ、記憶装置における第1のファイルの物理的位置を表すように、記憶装置に廃棄可能FATを更新させ、廃棄可能FATに従って記憶装置の記憶領域を管理するように構成されている。クラスタチェーンは、第1のファイルの物理的位置をマスクする。第1のFATのクラスタチェーンは、第2のFAT内の位置を指すことができる。 A storage allocator for managing a storage device is associated with a storage device and a communication interface for interfacing with the storage device host, a storage unit for storing a file system associated with the storage device, and the storage device. For receiving a request to store a first file in a storage area of a storage device including a primary FAT and a discardable FAT; The first file is marked as discardable in the file system structure associated with the storage device and the storage device is primary in order to associate the cluster chain assigned to the first file with the first file. Update FAT and store memory To represent the physical location of the first file in the discardable FAT is updated in the storage device, it is configured to manage the storage area of the storage device according discardable FAT. The cluster chain masks the physical location of the first file. The cluster chain of the first FAT can point to a position in the second FAT.
あるいは、プロセッサは、記憶装置の記憶領域に第2のファイルを格納する要求を受け取り、記憶装置と関連付けられているファイルシステム構造において第2のファイルを廃棄可能とマーキングし、第1のファイルおよび第2のファイルと関連付けられるクラスタチェーンを第2のファイルと関連付けるために記憶装置にプライマリFATを更新させ、第2のファイルの物理的位置を表すように、記憶装置に第2のFATを更新させるようにさらに構成され、廃棄可能クラスタチェーンは第1のファイルおよび第2のファイルの物理的位置をマスクする。 Alternatively, the processor receives a request to store the second file in the storage area of the storage device, marks the second file in the file system structure associated with the storage device as discardable, the first file and the first file Causing the storage device to update the primary FAT to associate the cluster chain associated with the second file with the second file, and causing the storage device to update the second FAT to represent the physical location of the second file. The discardable cluster chain masks the physical location of the first file and the second file.
前述したストレージアロケータの他の1つの変形例では、プロセッサは、記憶装置の記憶領域に第2のファイルを格納する要求を受け取り、記憶装置と関連付けられているファイルシステム構造において第2のファイルを廃棄可能とマーキングし、第2のファイルに割り当てられている第2のクラスタチェーンを第2のファイルと関連付けるために記憶装置にプライマリFATを更新させ、第2のファイルの物理的位置を表すように記憶装置に廃棄可能FATを更新させるようにさらに構成され得る。ストレージアロケータのこの変形例は、記憶装置と関連付けられているファイルシステム構造において第1のファイルを非廃棄可能ファイルとマーキングし、第1のファイルの物理的位置を表すように記憶装置にプライマリFATを更新させ、第1のファイルの物理的位置を除去するために記憶装置に廃棄可能FATを更新させるようにさらにプロセッサを構成させることができる。さらに、プロセッサは、第1のファイルが廃棄可能ファイルから非廃棄可能ファイルに変換され得るかを判定するために第1のファイルと関連付けられている変換ロック識別子の値を識別するようにさらに構成され、第1のファイルと関連付けられている変換ロック識別子の値の判定が第1のファイルがロックされていないことを示した後に、第1のファイルは非廃棄可能ファイルとマーキングされる。 In another variation of the storage allocator described above, the processor receives a request to store a second file in the storage area of the storage device and discards the second file in the file system structure associated with the storage device. Mark as possible and have the storage device update the primary FAT to associate the second cluster chain assigned to the second file with the second file and store it to represent the physical location of the second file It can be further configured to cause the device to update the discardable FAT. This variation of the storage allocator marks the first FAT in the storage device to mark the first file as a non-disposable file in the file system structure associated with the storage device and represents the physical location of the first file. The processor can be further configured to update and cause the storage device to update the discardable FAT to remove the physical location of the first file. Further, the processor is further configured to identify a value of the conversion lock identifier associated with the first file to determine whether the first file can be converted from a discardable file to a non-discardable file. After the determination of the value of the conversion lock identifier associated with the first file indicates that the first file is not locked, the first file is marked as a non-disposable file.
他のインプリメンテーションでは、ストレージアロケータは、第1のファイルが廃棄可能ファイルから非廃棄可能ファイルに変換され得るかを判定するために第1のファイルと関連付けられている変換ロック識別子の値を識別し、第1のファイルと関連付けられている変換ロック識別子の値の判定が第1のファイルがロックされていることを示した後に、第1のファイルを非廃棄可能とマーキングすることを禁じるように、プロセッサをさらに構成させることができる。代わりに、ストレージアロケータのプロセッサは、ユーザIDと、第1のファイルと関連付けられているプレビューファイルとに関連付けられているファイルパーミッションを識別し、識別されたファイルパーミッションに基づいて第1のファイルと関連付けられているプレビューファイルへのアクセスを管理するようにさらに構成され得る。 In other implementations, the storage allocator identifies a translation lock identifier value associated with the first file to determine whether the first file can be converted from a discardable file to a non-discardable file. And marking the first file as non-disposable after the determination of the value of the conversion lock identifier associated with the first file indicates that the first file is locked. The processor can be further configured. Instead, the storage allocator processor identifies the file permissions associated with the user ID and the preview file associated with the first file and associates with the first file based on the identified file permissions. Can be further configured to manage access to the preview file being viewed.
通信インターフェイスと、記憶装置と関連付けられているファイルシステムを管理するためのストレージアロケータとを有する記憶システムも開示されている。ストレージアロケータは、記憶装置の記憶領域における1つ以上のファイルの記憶を管理するためのプロセッサを含むことができ、プロセッサは、前述したストレージアロケータと同じように構成される。種々のインプリメンテーションにおいて、記憶システムのストレージアロケータは、ホストあるいは記憶装置に埋め込まれることができる。記憶システムは、通信インターフェイスを介して要求を受け取るために、通信インターフェイスを介して受け取られた第1のファイルと関連付けられている1つ以上の書き込み要求に基づいて第1のファイルを格納する要求を導出するようにプロセッサが構成されるようにも構成され得る。 A storage system having a communication interface and a storage allocator for managing a file system associated with the storage device is also disclosed. The storage allocator can include a processor for managing the storage of one or more files in the storage area of the storage device, and the processor is configured in the same manner as the storage allocator described above. In various implementations, the storage allocator of the storage system can be embedded in the host or storage device. The storage system receives a request to store the first file based on one or more write requests associated with the first file received via the communication interface to receive the request via the communication interface. The processor may also be configured to derive.
記憶装置を管理する第3の方法も開示され、第3の方法は、記憶装置が動作可能に結合されているホストにおいて、記憶装置の記憶領域に第1のファイルを格納する要求を受け取ることと、記憶装置と関連付けられているファイルシステム構造において第1のファイルを廃棄可能とマーキングすることと、第1のファイルに割り当てられているクラスタチェーンを第1のファイルと関連付けるために、記憶装置にFATを更新させることと、記憶装置における第1のファイルの物理的位置を表すように、データベースを更新することと、FATおよびデータベースに従って記憶装置の記憶領域を管理することと、を含む。 A third method for managing a storage device is also disclosed, wherein the third method receives a request to store a first file in a storage area of the storage device at a host to which the storage device is operatively coupled. To mark the first file in the file system structure associated with the storage device as discardable and to associate the cluster chain assigned to the first file with the first file to the FAT Updating the database, updating the database to represent the physical location of the first file in the storage device, and managing the storage area of the storage device according to the FAT and the database.
記憶装置を管理する第4の方法は、ホストに動作可能に結合されている記憶装置において、記憶装置の記憶領域に第1のファイルを格納する要求を受け取ることと、第1のファイルを廃棄可能とマーキングすることであって、第1のファイルをマーキングすることが記憶装置と関連付けられているファイルシステム構造において行われることと、第1のファイルに割り当てられているクラスタチェーンを第1のファイルと関連付けるためにFATを更新することと、記憶装置における第1のファイルの物理的位置を表すようにデータベースを更新することと、記憶装置の記憶領域をFATおよびデータベースに従って管理することと、を含む。 A fourth method for managing a storage device can receive a request to store a first file in a storage area of the storage device and discard the first file in a storage device operably coupled to a host The first file is marked in the file system structure associated with the storage device, and the cluster chain assigned to the first file is defined as the first file. Updating the FAT for association, updating the database to represent the physical location of the first file in the storage device, and managing the storage area of the storage device according to the FAT and the database.
記憶装置を管理する第5の方法は、記憶装置ではなくてホストの観点から、前述した第4の方法のものと関連するステップを含む。より具体的には、第5の方法は、記憶装置が動作可能に結合されているホストにおいて、記憶装置の記憶領域に第1のファイルを格納する要求を受け取ることと、記憶装置と関連付けられているファイルシステム構造において第1のファイルを廃棄可能とマーキングすることと、第1のファイルに割り当てられているクラスタチェーンを第1のファイルと関連付けるために、記憶装置にFATを更新させることと、記憶装置における第1のファイルの物理的位置を表すように、ロケーションファイルを更新することと、FATおよびロケーションファイルに従って記憶装置の記憶領域を管理することと、を含む。ロケーションファイルは、テキストファイルまたはバイナリファイルなどのファイルであり得る。 The fifth method for managing the storage device includes steps associated with those of the fourth method described above from the perspective of the host rather than the storage device. More specifically, a fifth method is associated with receiving a request to store a first file in a storage area of a storage device at a host to which the storage device is operatively coupled, and associated with the storage device. Marking the first file in the file system structure as being discardable, causing the storage device to update the FAT to associate the cluster chain assigned to the first file with the first file, and storing Updating the location file to represent the physical location of the first file in the device and managing the storage area of the storage device according to the FAT and the location file. The location file may be a file such as a text file or a binary file.
記憶装置を管理する第6の方法は、記憶装置が動作可能に結合されているホストにおいて、記憶装置の記憶領域に第1のファイルを格納する要求を受け取ることと、記憶装置と関連付けられているファイルシステム構造において第1のファイルを廃棄可能とマーキングすることと、第1のファイルに割り当てられているクラスタチェーンを第1のファイルと関連付けるために記憶装置にFATを更新させることと、FATの中で第1のファイルと関連付けられているクラスタチェーンの2つ以上のクラスタの順序をスクランブルすることと、第1のファイルと関連付けられているクラスタチェーンの少なくとも1つのクラスタを含む第1のレンジファイルをFAT内に作成することと、FATおよび第1のレンジファイルに従って記憶装置の記憶領域を管理することと、を含む。 A sixth method for managing a storage device is associated with receiving a request to store a first file in a storage area of the storage device at a host to which the storage device is operatively coupled, and associated with the storage device. Marking the first file as discardable in the file system structure; causing the storage device to update the FAT to associate the cluster chain assigned to the first file with the first file; Scramble the order of two or more clusters of the cluster chain associated with the first file, and a first range file comprising at least one cluster of the cluster chain associated with the first file. Creating in the FAT and storage device according to the FAT and the first range file Including and managing the 憶領 region, a.
第6の方法は、記憶装置の記憶領域に第2のファイルを格納する要求を受け取ることと、記憶装置と関連付けられているファイルシステム構造において第2のファイルを廃棄可能とマーキングすることと、第1のファイルおよび第2のファイルと関連付けられるクラスタチェーンを第2のファイルと関連付けるために記憶装置にFATを更新させることと、FATの中で第2のファイルと関連付けられているクラスタチェーンの2つ以上のクラスタの順序をスクランブルすることと、をさらに含むことができる。その上に、第6の方法は、第2のファイルと関連付けられているクラスタチェーンの少なくとも1つのクラスタを含むようにFAT内の第1のレンジファイルを更新することをさらに含むことができる。 A sixth method includes receiving a request to store a second file in a storage area of a storage device, marking the second file as disposable in a file system structure associated with the storage device, Two of the cluster chain associated with the second file in the FAT and the storage device updates the FAT to associate the cluster chain associated with the first file and the second file with the second file. Scrambling the order of the above clusters. Moreover, the sixth method can further include updating the first range file in the FAT to include at least one cluster in the cluster chain associated with the second file.
第6の方法の1つの変形例では、この方法は、記憶装置の記憶領域に第2のファイルを格納する要求を受け取ることと、記憶装置と関連付けられているファイルシステム構造において第2のファイルを廃棄可能とマーキングすることと、第2のファイルに割り当てられている第2のクラスタチェーンを第2のファイルと関連付けるために記憶装置にFATを更新させることと、FATの中で第2のファイルと関連付けられている第2のクラスタチェーンの2つ以上のクラスタの順序をスクランブルすることと、第2のファイルと関連付けられているクラスタチェーンの少なくとも1つのクラスタを含むFAT内の第2のレンジファイルを作成することと、をさらに含むことができ、FATおよび第1のレンジファイルに従って記憶装置の記憶領域を管理することは、FAT、第1のレンジファイルおよび第2のレンジファイルに従って記憶装置の記憶領域を管理することを含む。 In one variation of the sixth method, the method receives a request to store a second file in a storage area of a storage device, and stores the second file in a file system structure associated with the storage device. Marking the discardable, causing the storage device to update the FAT to associate the second cluster chain assigned to the second file with the second file, and the second file in the FAT; Scrambling the order of two or more clusters in the associated second cluster chain; and a second range file in the FAT that includes at least one cluster in the cluster chain associated with the second file. Creating the storage device according to the FAT and the first range file. Managing the band includes managing FAT, the storage area of the storage device according to the first range file and the second range file.
第6の方法の他の1つの変形例では、この方法は、第1のレンジファイルを含まない、第1のファイルと関連付けられているクラスタチェーンの少なくとも1つのクラスタを有するFAT内の第2のレンジファイルを作成することをさらに含むことができ、FATおよび第1のレンジファイルに従って記憶装置の記憶領域を管理することは、FAT、第1のレンジファイルおよび第2のレンジファイルに従って記憶装置の記憶領域を管理することを含む。 In another variation of the sixth method, the method includes a second in the FAT having at least one cluster in the cluster chain associated with the first file that does not include the first range file. Creating a range file, and managing the storage area of the storage device according to the FAT and the first range file may include storing the storage device according to the FAT, the first range file, and the second range file. Includes managing areas.
記憶装置を管理する第7の方法は、ホストではなくて記憶装置の観点から、前述した第6の方法のものと関連するステップを含む。より具体的には、この第7の方法は、ホストに結合されている記憶装置において、記憶装置の記憶領域に第1のファイルを格納する要求を受け取ることと、第1のファイルを廃棄可能とマーキングすることであって、第1のファイルをマーキングすることが記憶装置と関連付けられているファイルシステム構造において行われることと、第1のファイルに割り当てられているクラスタチェーンを第1のファイルと関連付けるためにFATを更新することと、FATの中で第1のファイルと関連付けられているクラスタチェーンの2つ以上のクラスタの順序をスクランブルすることと、第1のファイルと関連付けられているクラスタチェーンの少なくとも1つのクラスタを含む第1のレンジファイルをFAT内に作成することと、FATおよび第1のレンジファイルに従って記憶装置の記憶領域を管理することと、を含む。この第7の方法の変形例は、前述した第6の方法のものに類似する。 A seventh method for managing a storage device includes steps associated with those of the sixth method described above from the perspective of the storage device rather than the host. More specifically, according to the seventh method, in the storage device coupled to the host, a request for storing the first file in the storage area of the storage device can be received, and the first file can be discarded. Marking the first file is performed in a file system structure associated with the storage device and associating the cluster chain assigned to the first file with the first file For updating the FAT, scrambling the order of two or more clusters in the cluster chain associated with the first file in the FAT, and for the cluster chain associated with the first file. Creating a first range file in the FAT that includes at least one cluster; It includes managing the storage area of the storage device according to the first range file, a. This modification of the seventh method is similar to that of the sixth method described above.
第8の方法では、記憶装置が動作可能に結合されているホストにおいて廃棄可能ファイルと関連付けられている操作を管理する方法は、オーナーユーザIDを廃棄可能ファイルと関連付けることであって、廃棄可能ファイルが記憶装置と関連付けられているファイルシステム構造において廃棄可能とマーキングされているファイルを含むことと、オーナーユーザIDと関連付けられているアプリケーションで、廃棄可能ファイルと関連付けられている追加のユーザIDのためのパーミッションのセットを定義することと、追加のユーザIDと関連付けられているアプリケーションから、廃棄可能ファイルと関連付けられている操作を実行する要求を受け取ることと、パーミッションのセットに基づいて、追加のユーザIDと関連付けられているアプリケーションが操作を実行できるかを判定することと、その判定に基づいて、廃棄可能ファイルと関連付けられている操作を管理することと、を含む。 In an eighth method, the method of managing an operation associated with a discardable file at a host to which the storage device is operably coupled is associating an owner user ID with the discardable file, wherein the discardable file For files that are marked as discardable in the file system structure associated with the storage device, and for additional user IDs associated with the discardable file in the application associated with the owner user ID Defining a set of permissions, receiving a request to perform an operation associated with the disposable file from an application associated with the additional user ID, and adding additional users based on the set of permissions Associated with the ID Includes determining whether the application can perform the operation, based on the determination, and to manage operations associated with disposable file, a.
この第8の方法の変形例において、オーナーユーザIDと関連付けられているアプリケーションは、廃棄可能ファイルを記憶装置にダウンロードすることができる。あるいは、廃棄可能ファイルと関連付けられている操作は、廃棄可能ファイルと関連付けられている属性を改変することを含むことができる。第8の方法の他の変形例において、この方法は、廃棄可能ファイルと関連付けられている属性を読み出すことをさらに含むことができる。属性は、変換ロック識別子、タイムスタンプ、消費意図ユニバーサルリソースインジケータ、あるいは優先レベルのうちの少なくとも1つであり得る。第8の方法のさらに他の変形例において、操作は、廃棄可能ファイルを読み出すこと、廃棄可能ファイルへ書き込むこと、廃棄可能ファイルと関連付けられているプレビューデータを書き込むこと、あるいは廃棄可能ファイルと関連付けられているプレビューデータを読み出すことを含むことができる。廃棄可能ファイルは、プレビューデータを含むことができ、あるいは異なるインプリメンテーションではプレビューデータとは別であることができる。 In this eighth method variant, the application associated with the owner user ID can download the discardable file to the storage device. Alternatively, the operation associated with the discardable file can include modifying an attribute associated with the discardable file. In another variation of the eighth method, the method can further include reading an attribute associated with the discardable file. The attribute may be at least one of a conversion lock identifier, a time stamp, a consumption intention universal resource indicator, or a priority level. In yet another variation of the eighth method, the operation is associated with reading a discardable file, writing to a discardable file, writing preview data associated with a discardable file, or associated with a discardable file. Reading out the preview data. The discardable file can include preview data or can be separate from the preview data in different implementations.
第8の方法の追加のユーザIDは、多数のユーザと関連付けられる共有ユーザIDであることができる。あるいは、第8の方法の追加のユーザIDは、多数のアプリケーションと関連付けられる共有ユーザIDであることができる。第8の方法の1つの追加の変形例では、判定に基づいて廃棄可能ファイルと関連付けられている操作を管理することは、追加のユーザのIDと関連付けられているアプリケーションが廃棄可能ファイルと関連付けられている操作を実行することを禁じることを含むことができる。他の1つの追加の変形例では、判定に基づいて廃棄可能ファイルと関連付けられている操作を管理することは、追加のユーザIDと関連付けられているアプリケーションが廃棄可能ファイルと関連付けられている操作を実行することを許可することを含む。 The additional user ID of the eighth method can be a shared user ID associated with multiple users. Alternatively, the additional user ID of the eighth method can be a shared user ID associated with multiple applications. In one additional variation of the eighth method, managing an operation associated with the discardable file based on the determination associates the application associated with the additional user ID with the discardable file. Forbidden to perform the operation that is being performed. In another additional variation, managing an operation associated with the discardable file based on the determination includes an operation associated with the discardable file by an application associated with the additional user ID. Including allowing it to run.
通信インターフェイスと、記憶装置と関連付けられているファイルシステムを管理するためのストレージアロケータとを有する記憶システムも熟慮されている。ストレージアロケータは、記憶装置に格納されている廃棄可能ファイルと関連付けられている操作を管理するためのプロセッサを含むことができ、プロセッサは、オーナーユーザIDを、記憶装置と関連付けられているファイルシステム構造において廃棄可能とマーキングされているファイルを含む廃棄可能ファイルと関連付け、オーナーユーザIDと関連付けられているアプリケーションで、廃棄可能ファイルと関連付けられている追加のユーザIDのためのパーミッションのセットを定義し、追加のユーザIDと関連付けられているアプリケーションから、廃棄可能ファイルと関連付けられている操作を実行する要求を通信インターフェイスを介して受け取り、パーミッションのセットに基づいて、追加のユーザIDと関連付けられているアプリケーションが操作を実行できるかを判定し、その判定に基づいて、廃棄可能ファイルと関連付けられている操作を管理するように構成されている。廃棄可能ファイルと関連付けられている操作を管理するために、プロセッサは、追加のユーザIDと関連付けられているアプリケーションが廃棄可能ファイルと関連付けられているプレビューデータを読み出すことを許可するように構成され得る。追加のユーザIDは、多数のユーザと関連付けられる共有ユーザIDあるいは多数のアプリケーションと関連付けられる共有ユーザIDであり得る。 Also contemplated are storage systems having a communication interface and a storage allocator for managing a file system associated with the storage device. The storage allocator can include a processor for managing operations associated with a discardable file stored in the storage device, the processor including an owner user ID and a file system structure associated with the storage device. Define a set of permissions for an additional user ID associated with the discardable file in an application associated with the discardable file, including the file marked as disposable in A request to perform an operation associated with the disposable file is received from the application associated with the additional user ID via the communication interface and is associated with the additional user ID based on a set of permissions. Application determines whether the operation can be performed, based on the determination, is configured to manage operations associated with the discardable file. In order to manage operations associated with the discardable file, the processor may be configured to allow an application associated with the additional user ID to read preview data associated with the discardable file. . The additional user ID may be a shared user ID associated with multiple users or a shared user ID associated with multiple applications.
記憶装置を管理する第9の方法は、記憶装置が動作可能に結合されているホストにおいて、プレビューデータを記憶装置に格納することと、プレビューデータを、記憶装置と関連付けられているファイルシステム構造において廃棄可能とマーキングされているファイルである廃棄可能ファイルと関連付けることと、アプリケーションがプレビューデータにアクセスすることを許可されるけれども廃棄可能ファイルにアクセスすることを許可されないようにプレビューデータおよび廃棄可能ファイルへのアクセスを管理することと、を含むことができる。廃棄可能ファイルは、プレビューデータとは別個のプレビューデータであり得る。第9の方法の代わりのインプリメンテーションでは、廃棄可能ファイルは映画であって、プレビューデータは映画と関連付けられている映画予告編であることができ、廃棄可能ファイルはテレビ番組であって、プレビューデータはテレビ番組の一部であることができ、廃棄可能ファイルは音楽データであって、プレビューデータは音楽データの一部であることができ、あるいは廃棄可能ファイルはプログラムであって、プレビューデータはプログラムのデモ版であることができる。 A ninth method for managing storage devices includes storing preview data in a storage device at a host to which the storage device is operatively coupled, and preview data in a file system structure associated with the storage device. To preview data and discardable files so that they can be associated with a discardable file that is marked as discardable and the application is allowed to access the preview data but is not allowed to access the discardable file Managing access. The discardable file may be preview data that is separate from the preview data. In an alternative implementation of the ninth method, the discardable file is a movie and the preview data can be a movie trailer associated with the movie, and the discardable file is a television program and the preview data Can be part of a television program, the discardable file is music data and the preview data can be part of music data, or the discardable file is a program and the preview data is a program Can be a demo version of.
第9の方法の1つの代わりのインプリメンテーションでは、アプリケーションがプレビューデータにアクセスすることを許可されるけれども廃棄可能ファイルにアクセスすることを許可されないようにプレビューデータおよび廃棄可能ファイルへのアクセスを管理することは、廃棄可能ファイルと関連付けられているリリース日の前の期間中にアプリケーションがプレビューデータにアクセスすることを許可されるけれども廃棄可能ファイルにはアクセスすることを許可されないようにプレビューデータおよび廃棄可能ファイルへのアクセスを管理することを含むことができる。 One alternative implementation of the ninth method manages access to the preview data and the discardable file so that the application is allowed to access the preview data but is not allowed to access the discardable file. Preview data and discard so that the application is allowed access to the preview data during the period prior to the release date associated with the discardable file, but is not allowed to access the discardable file. Can include managing access to possible files.
ダウンロード管理
前に記述した、スマートキャッシングおよびスマートキャッシングHDとも称されるデータを管理する方法にさらに加えて、記憶装置の記憶領域への廃棄可能ファイルのダウンロードを管理するスマートキャッシュ手法が提供される。一般的に、或るインプリメンテーションでは、ストレージアロケータの一部であり得るダウンロードマネージャは、廃棄可能ファイルを記憶装置にダウンロードするために利用され得るネットワークのタイプ、記憶装置に利用され得る電力条件、廃棄可能ファイルを記憶装置にダウンロードする要求と関連付けられている期間、および/または記憶装置と関連付けられている利用可能なストレージの量などのダウンロード条件に基づいて、記憶装置の記憶領域への廃棄可能ファイルのダウンロードを遅延させるかどうかを判定することができる。
Described before download management, further added to the method of managing the referred data to as smart caching and smart caching HD, smart caching technique for managing the downloading of discardable file to the storage area of the storage device is provided. In general, in some implementations, the download manager, which can be part of a storage allocator, determines the type of network that can be used to download the discardable file to the storage device, the power requirements that can be used for the storage device, Discardable to the storage area of the storage device based on download conditions such as the duration associated with the request to download the discardable file to the storage device and / or the amount of available storage associated with the storage device It can be determined whether to delay the download of the file.
例えば、ダウンロードマネージャは、廃棄可能ファイルのダウンロードを、廃棄可能ファイルをダウンロードするためにワイヤレスフィデリティ(WiFi)ネットワークおよび/またはセルラーネットワークが利用可能になるまで、遅延させると決定することができる。同様に、ダウンロードマネージャは、記憶装置が電源に結合されているかあるいは記憶装置と関連付けられているバッテリの電力レベルが所定のレベルより高い間は廃棄可能ファイルのダウンロードを遅延させないと決定することができるけれども、ダウンロードマネージャは、記憶装置と関連付けられているバッテリが充電中でありかつ/または記憶装置と関連付けられているバッテリの電力レベルが所定のレベルより低い間は廃棄可能ファイルのダウンロードを遅延させると決定することができる。さらに、ダウンロードマネージャは、ネットワーク輻輳が激しいかもしれない営業時間中に要求された廃棄可能ファイルのダウンロードを、ネットワークが輻輳していないかもしれない午後8時以降などの晩まで遅延させると決定することができ、あるいはダウンロードマネージャは、平日に要求された廃棄可能ファイルのダウンロードを週末まで遅延させると決定することができる。ダウンロードマネージャは、さらに、廃棄可能ファイルを記憶装置の記憶領域に格納する前の記憶装置で利用可能なストレージの量が所定のレベルより高くなるまで、廃棄可能ファイルのダウンロードを遅延させることができる。 For example, the download manager may determine that the download of the discardable file is delayed until a wireless fidelity (WiFi) network and / or cellular network is available to download the discardable file. Similarly, the download manager can determine that the download of the discardable file is not delayed while the storage device is coupled to a power source or the power level of the battery associated with the storage device is above a predetermined level. However, the download manager may delay the download of the discardable file while the battery associated with the storage device is being charged and / or the power level of the battery associated with the storage device is below a predetermined level. Can be determined. In addition, the download manager decides to delay the download of disposable files requested during business hours when network congestion may be severe until late at night, such as after 8pm when the network may not be congested. Alternatively, the download manager may decide to delay the download of the discardable file requested on weekdays until the weekend. The download manager can further delay the download of the discardable file until the amount of storage available on the storage device prior to storing the discardable file in the storage area of the storage device is above a predetermined level.
図28は、記憶装置の記憶領域への廃棄可能ファイルのダウンロードを管理する方法のフローチャートである。ステップ2802で、ファイルを記憶装置の記憶領域に格納する要求が受け取られ、ファイルは、廃棄可能ファイルであって、記憶装置と関連付けられているデータ構造においてデータと関連付けられる。あるインプリメンテーションでは、データ構造はファイルシステム構造を含むことができる。ステップ2804で、ファイルは「廃棄可能ファイル」とマーキングされる。あるインプリメンテーションでは、データ構造のファイルシステム構造は、ファイルが廃棄可能ファイルであることを示すようにマーキングされる。他のインプリメンテーションでは、ファイルが廃棄可能ファイルであることを示すようにファイル自体がマーキングされる。
FIG. 28 is a flowchart of a method for managing download of a discardable file to a storage area of a storage device. At
ステップ2806で、或るインプリメンテーションではストレージアロケータの一部であり得るダウンロードマネージャは、廃棄可能ファイルを記憶装置の記憶領域に格納するために、要求と関連付けられているダウンロード条件を判定する。例えば、ダウンロードマネージャは、廃棄可能ファイルを記憶装置にダウンロードするために利用され得るネットワークのタイプ、廃棄可能ファイルを記憶装置にダウンロードするときに記憶装置が利用し得る電力条件、廃棄可能ファイルを記憶装置の記憶領域に格納する要求と関連付けられている時刻を判定することができ、かつ/または記憶装置で利用し得る記憶スペースの量を判定することができる。
At
ステップ2808で、ダウンロードマネージャは、判定されたダウンロード条件に基づいて廃棄可能ファイルの記憶装置へのダウンロードを遅延させるか否かを決定し、ステップ2810で、ダウンロードマネージャは、記憶装置への廃棄可能ファイルのダウンロードを遅延させるか否かの決定に基づいて記憶装置への廃棄可能ファイルのダウンロードを管理する。ステップ2810で、ダウンロードマネージャは、ダウンロード条件と関連付けられているパラメータが満たされるまで、記憶装置への廃棄可能ファイルのダウンロードを遅延させることができる。例えば、ダウンロードマネージャは、廃棄可能ファイルを記憶装置にダウンロードするためにWiFiネットワークおよび/またはセルラーネットワークが利用可能になるまで廃棄可能ファイルのダウンロードを遅延させることができ、ダウンロードマネージャは、記憶装置が電源と結合されるかあるいは記憶装置と関連付けられているバッテリの電力レベルが所定のレベルより高くなるまで廃棄可能ファイルのダウンロードを遅延させることができ、かつ/またはダウンロードマネージャは、廃棄可能ファイルを記憶装置の記憶領域に格納する前の記憶装置内の利用可能なストレージの量が所定のレベルより高くなるまで廃棄可能ファイルのダウンロードを遅延させることができる。
In
ステップ2812で、ダウンロードマネージャを含み得るストレージアロケータは、前に記述したように、ファイルが廃棄可能ファイルであるとするマーキングに基づいて、ダウンロードされた廃棄可能ファイルの記憶装置の記憶領域における記憶を管理する。
At
或るインプリメンテーションでは、1つ以上のプロセッサは、コンピュータ可読の非一時的記憶媒体などのメモリに格納されている命令に基づいて図28に関して前に記述した動作を行うように構成され得るということを理解すべきである。その1つ以上のプロセッサは、ホスト、記憶装置、あるいはその両方の組み合わせ上に置かれることができる。 In some implementations, one or more processors may be configured to perform the operations described above with respect to FIG. 28 based on instructions stored in memory, such as a computer-readable non-transitory storage medium. You should understand that. The one or more processors can be located on a host, a storage device, or a combination of both.
ファイルをマーキングして、関連付けられているファイルシステムにおいてそれらに廃棄レベルを割り当てる、ここで開示された方法は多くの有益な応用例を持つことができて、その1つは、ユーザファイルのために充分な記憶スペースを保証するためにストレージ使用安全マージンを回復することであるということに留意すべきである。例えば、ファイルに割り当てられた廃棄レベルは、より性能の低いフラッシュモジュールにファイルクラスタを再マッピングするためあるいは要求があり次第クラスタをクリアするために使用され得る。 The methods disclosed herein for marking files and assigning discard levels to them in the associated file system can have many useful applications, one of which is for user files It should be noted that the storage usage safety margin is restored to ensure sufficient storage space. For example, the discard level assigned to a file can be used to remap the file cluster to a lower performance flash module or to clear the cluster on demand.
冠詞は、ここでは、文脈に応じて冠詞の文法上の目的語の1つまたは2つ以上(すなわち、少なくとも1つ)に言及するために使用される。例を挙げると、文脈に応じて、「エレメント」は、1つのエレメントまたは2つ以上のエレメントを意味することができる。「・・・を含む」という用語は、ここでは、「・・・を含むが、・・・に限定されない」という句を意味するように用いられ、この句と交換可能に用いられている。「または」や「および」という用語は、文脈が明らかに別のことを示していない限り、「および/または」という用語を意味するように用いられ、これらの用語と交換可能に用いられている。「・・・など(のような)」という用語は、ここでは、「・・・など(のような)であるが、・・・に限定されない」という句を意味するように用いられ、この句と交換可能に用いられている。 Articles are used herein to refer to one or more (ie, at least one) of an article's grammatical objects, depending on the context. By way of example, depending on the context, “element” can mean one element or more than one element. The term "including" is used herein to mean the phrase "including but not limited to ..." and is used interchangeably. The terms “or” and “and” are used to mean the terms “and / or” and are used interchangeably unless the context clearly indicates otherwise. . The term "... etc." Is used herein to mean the phrase "... etc. (But not limited to ...)" and this Used interchangeably with phrase.
発明の代表的な実施形態をこのように記述して、開示された実施形態の改変形が発明の範囲内にあるということを当業者であれば理解できるはずである。従って、代替の実施形態は、より多くのモジュール、より少数のモジュールおよび/または機能的に同等のモジュールを含むことができる。本願明細書における開示は、SD駆動フラッシュメモリカード、フラッシュ記憶装置、非フラッシュ記憶装置、ユニバーサルシリアルバス(「USB」)インターフェイスを備える「ディスクオンキー」装置、USBフラッシュドライブ(「UFD」)、マルチメディアカード(「MMC」)、セキュアデジタル(「SD」)、ミニSD(miniSD)、およびマイクロSD(microSD)などの種々のタイプの大容量記憶装置に関連している。従って、添付の特許請求の範囲は、本願明細書における開示によって限定されない。従って、前の詳細な記述は限定ではなくて例示と見なされるべきこと、また本発明の趣旨および範囲を定義するべく意図されているのは全ての同等物を含む添付の特許請求の範囲であるということが意図されている。 It will be appreciated by those skilled in the art that exemplary embodiments of the invention are thus described and modifications of the disclosed embodiments are within the scope of the invention. Thus, alternative embodiments can include more modules, fewer modules, and / or functionally equivalent modules. Disclosures herein include SD-driven flash memory cards, flash storage devices, non-flash storage devices, “disk-on-key” devices with universal serial bus (“USB”) interfaces, USB flash drives (“UFD”), multimedia It is associated with various types of mass storage devices such as cards (“MMC”), secure digital (“SD”), mini-SD (miniSD), and micro-SD (microSD). Accordingly, the scope of the appended claims is not limited by the disclosure herein. Accordingly, the foregoing detailed description is to be regarded as illustrative instead of limiting, and it is the appended claims, including all equivalents, that are intended to define the spirit and scope of this invention It is intended.
Claims (30)
記憶装置が動作可能に結合されているホストにおいて、
ファイルが廃棄可能であると判断している前記記憶装置に前記ファイルを格納するというコンテンツ発行者からもたらされる要求を受け取るステップと、
前記記憶装置のファイルシステム内の前記ファイルを廃棄可能ファイルとマーキングするステップと、を含み、
前記ファイルシステムは、プライマリファイルアロケーションテーブル(FAT)と廃棄可能FATとを有し、
前記ファイルを廃棄可能ファイルとマーキングするステップは、
前記ファイルに割り当てられているクラスタチェーンを前記ファイルと関連付けるために、前記プライマリFATを更新し、前記クラスタチェーンが、前記ファイルと関連付けられている前記記憶装置の物理的位置を少なくともマスクし、
前記記憶装置の物理的位置を前記ファイルと関連付けるために、前記廃棄可能FATを更新し、
前記ファイルをユーザからマスクするように前記記憶装置のファイルシステム内の前記ファイルを隠し、前記廃棄可能ファイルが、ユーザが要求していない非請求コンテンツを含み、
前記廃棄可能ファイルを前記記憶装置に格納する要求と関連付けられているダウンロード条件を判定し、
前記判定されたダウンロード条件と前記ファイルが廃棄可能ファイルであるとするマーキングとに基づいて、前記廃棄可能ファイルの前記記憶装置へのダウンロードを遅延させるか否かを決定し、
前記記憶装置への前記廃棄可能ファイルのダウンロードを遅延させるか否かの決定に基づいて、前記記憶装置への前記廃棄可能ファイルのダウンロードを管理することを含む方法。 A method for managing a storage device, comprising:
On the host to which the storage device is operably coupled:
Receiving a request from a content publisher to store the file in the storage device that determines that the file is disposable;
Marking the file in the file system of the storage device as a discardable file;
The file system has a primary file allocation table (FAT) and a discardable FAT ;
Marking the file as a discardable file comprises:
Updating the primary FAT to associate the cluster chain assigned to the file with the file , the cluster chain at least masking the physical location of the storage device associated with the file;
Updating the discardable FAT to associate the physical location of the storage device with the file;
Concealing the file in the file system of the storage device to mask the file from a user, wherein the discardable file includes unsolicited content not requested by the user;
Determining a download condition associated with a request to store the discardable file in the storage device;
Determining whether to delay the download of the discardable file to the storage device based on the determined download condition and the marking that the file is a discardable file;
Managing the download of the discardable file to the storage device based on determining whether to delay the download of the discardable file to the storage device.
前記廃棄可能ファイルのダウンロードを管理することは、前記ダウンロード条件と関連付けられているパラメータが満たされるまで前記記憶装置への前記廃棄可能ファイルのダウンロードを遅延させることを含む方法。 The method of claim 1, wherein
Managing the discardable file download includes delaying the discardable file download to the storage device until a parameter associated with the download condition is satisfied.
前記廃棄可能ファイルを前記記憶装置に格納する要求と関連付けられているダウンロード条件を判定することは、前記廃棄可能ファイルを前記記憶装置にダウンロードするために利用され得るネットワークのタイプを判定することを含む方法。 The method of claim 1, wherein
Determining a download condition associated with a request to store the discardable file on the storage device includes determining a type of network that can be utilized to download the discardable file to the storage device. Method.
前記廃棄可能ファイルを前記記憶装置にダウンロードするために利用され得るネットワークのタイプを判定することは、前記廃棄可能ファイルを前記記憶装置にダウンロードするためにワイヤレスフィデリティ(WiFi)ネットワークが利用され得るか否かを判定することを含む方法。 The method of claim 3, wherein
Determining the type of network that can be utilized to download the discardable file to the storage device determines whether a wireless fidelity (WiFi) network can be utilized to download the discardable file to the storage device. Including determining.
前記廃棄可能ファイルを前記記憶装置にダウンロードするために利用され得るネットワークのタイプを判定することは、前記廃棄可能ファイルを前記記憶装置にダウンロードするためにセルラーネットワークが利用され得るか否かを判定することを含む方法。 The method of claim 3, wherein
Determining the type of network that can be utilized to download the discardable file to the storage device determines whether a cellular network can be utilized to download the discardable file to the storage device. A method involving that.
前記廃棄可能ファイルを前記記憶装置に格納する要求と関連付けられているダウンロード条件を判定することは、前記廃棄可能ファイルを前記記憶装置にダウンロードするときに前記記憶装置が利用し得る電力条件を判定することを含む方法。 The method of claim 1, wherein
Determining a download condition associated with a request to store the discardable file in the storage device determines a power condition that the storage device can use when downloading the discardable file to the storage device A method involving that.
前記廃棄可能ファイルを前記記憶装置にダウンロードするときに前記記憶装置が利用し得る電力条件を判定することは、前記記憶装置が電源と結合されていると判定することを含む方法。 The method of claim 6 wherein:
The method of determining a power condition that the storage device can utilize when downloading the discardable file to the storage device includes determining that the storage device is coupled to a power source.
前記廃棄可能ファイルを前記記憶装置にダウンロードするときに前記記憶装置が利用し得る電力条件を判定することは、前記記憶装置と関連付けられているバッテリが充電中であると判定することを含む方法。 The method of claim 6 wherein:
The method of determining a power condition that the storage device can utilize when downloading the discardable file to the storage device includes determining that a battery associated with the storage device is being charged.
前記廃棄可能ファイルを前記記憶装置にダウンロードするときに前記記憶装置が利用し得る電力条件を判定することは、前記記憶装置と関連付けられているバッテリの電力レベルが所定のレベルより高いと判定することを含む方法。 The method of claim 6 wherein:
Determining a power condition that the storage device can use when downloading the discardable file to the storage device determines that a power level of a battery associated with the storage device is higher than a predetermined level Including methods.
前記廃棄可能ファイルを前記記憶装置に格納する要求と関連付けられているダウンロード条件を判定することは、前記廃棄可能ファイルを前記記憶装置に格納する要求と関連付けられている時刻を判定することを含む方法。 The method of claim 1, wherein
Determining a download condition associated with a request to store the discardable file on the storage device includes determining a time associated with a request to store the discardable file on the storage device. .
前記廃棄可能ファイルを前記記憶装置に格納する要求と関連付けられているダウンロード条件を判定することは、前記廃棄可能ファイルを前記記憶装置に格納する前の前記記憶装置内の利用可能なストレージの量が所定のレベルより高いと判定することを含む方法。 The method of claim 1, wherein
Determining a download condition associated with a request to store the discardable file in the storage device is based on the amount of storage available in the storage device prior to storing the discardable file in the storage device. Determining that it is higher than a predetermined level.
前記ファイルを廃棄可能ファイルとマーキングするステップは、前記ファイルが廃棄可能ファイルであることを示すように前記ファイル自体をマーキングすることをさらに含む方法。 The method of claim 1, wherein
The method of marking the file as a discardable file further comprises marking the file itself to indicate that the file is a discardable file.
前記ファイルを廃棄可能ファイルとマーキングするステップは、廃棄優先レベルを前記ファイルに割り当てることをさらに含む方法。 The method of claim 1, wherein
The step of marking the file as a discardable file further comprises assigning a discard priority level to the file.
前記プライマリFATは、プライマリファイルシステムアーキテクチャに含まれ、
前記廃棄可能FATは、廃棄可能ファイルシステムアーキテクチャに含まれる方法。 The method of claim 1, wherein
The primary FAT is included in a primary file system architecture;
The discardable FAT is included in a discardable file system architecture .
前記ファイルが廃棄可能ファイルであるとするマーキングに基づいて、前記記憶装置におけるダウンロードされた廃棄可能ファイルの記憶を管理するステップをさらに含む方法。 The method of claim 1, wherein
A method further comprising managing storage of a downloaded discardable file in the storage device based on a marking that the file is a discardable file.
プライマリファイルアロケーションテーブル(FAT)と廃棄可能FATとを有するファイルシステムを含む不揮発性メモリと通信するホストと、
前記不揮発性メモリにおける1つ以上のファイルの記憶を管理するための前記ホスト上のプロセッサと、を備え、
前記プロセッサは、
ファイルが廃棄可能であると判断している前記記憶システムに前記ファイルを格納するというコンテンツ発行者からもたらされる要求を受け取り、
前記ファイルを廃棄可能ファイルとマーキングするように構成され、
前記ファイルを廃棄可能ファイルとマーキングするために、前記プロセッサは、
前記ファイルを廃棄可能とマーキングすることであって、前記ファイルをマーキングすることが前記記憶システムと関連付けられている前記ファイルシステムにおいて行われ、
前記ファイルに割り当てられているクラスタチェーンを前記ファイルと関連付けるために、前記プライマリFATを更新し、前記クラスタチェーンが、前記ファイルと関連付けられている前記記憶システムの物理的位置を少なくともマスクし、
前記記憶システムの物理的位置を前記ファイルと関連付けるために、前記廃棄可能FATを更新し、
前記ファイルをユーザからマスクするように前記記憶システムのファイルシステム内の前記ファイルを隠し、前記廃棄可能ファイルが、ユーザが要求していない非請求コンテンツを含み、
前記廃棄可能ファイルを前記記憶システムに格納する要求と関連付けられているダウンロード条件を判定し、
前記判定されたダウンロード条件と前記ファイルが廃棄可能ファイルであるとするマーキングとに基づいて、前記廃棄可能ファイルの前記記憶システムへのダウンロードを遅延させるか否かを決定し、
前記記憶システムへの前記廃棄可能ファイルのダウンロードを遅延させるか否かの決定に基づいて、前記記憶システムへの前記廃棄可能ファイルのダウンロードを管理するように構成される記憶システム。 A storage system,
A host in communication with a non-volatile memory including a file system having a primary file allocation table (FAT) and a discardable FAT ;
A processor on the host for managing storage of one or more files in the non-volatile memory;
The processor is
Receiving a request from a content publisher to store the file in the storage system that determines that the file is disposable;
Configured to mark the file as a discardable file;
In order to mark the file as a discardable file, the processor
Marking the file as discardable, wherein marking the file is performed in the file system associated with the storage system;
Updating the primary FAT to associate the cluster chain assigned to the file with the file, the cluster chain at least masking the physical location of the storage system associated with the file;
Updating the discardable FAT to associate the physical location of the storage system with the file;
Hiding the file in the file system of the storage system to mask the file from a user, the discardable file including unsolicited content not requested by the user;
Determining download conditions associated with a request to store the discardable file in the storage system;
Determining whether to delay the download of the discardable file to the storage system based on the determined download condition and the marking that the file is a discardable file;
A storage system configured to manage the download of the discardable file to the storage system based on a determination whether to delay the download of the discardable file to the storage system.
前記廃棄可能ファイルのダウンロードを管理するために、前記プロセッサは、前記ダウンロード条件と関連付けられているパラメータが満たされるまで前記記憶システムへの前記廃棄可能ファイルのダウンロードを遅延させるようにさらに構成される記憶システム。 The storage system of claim 16.
To manage the download of the discardable file, the processor is further configured to delay the download of the discardable file to the storage system until a parameter associated with the download condition is satisfied. system.
前記廃棄可能ファイルを前記記憶システムに格納する要求と関連付けられているダウンロード条件を判定するために、前記プロセッサは、前記廃棄可能ファイルを前記記憶システムにダウンロードするために利用され得るネットワークのタイプを判定するようにさらに構成される記憶システム。 The storage system of claim 16.
In order to determine a download condition associated with a request to store the discardable file on the storage system, the processor determines a type of network that can be utilized to download the discardable file to the storage system. A storage system further configured to.
前記廃棄可能ファイルを前記記憶システムにダウンロードするために利用され得るネットワークのタイプを判定するために、前記プロセッサは、前記廃棄可能ファイルを前記記憶システムにダウンロードするためにワイヤレスフィデリティ(WiFi)ネットワークが利用され得るか否かを判定するようにさらに構成される記憶システム。 The storage system of claim 18.
To determine the type of network that can be used to download the discardable file to the storage system, the processor uses a wireless fidelity (WiFi) network to download the discardable file to the storage system. A storage system further configured to determine whether it can be performed.
前記廃棄可能ファイルを前記記憶システムにダウンロードするために利用され得るネットワークのタイプを判定するために、前記プロセッサは、前記廃棄可能ファイルを前記記憶システムにダウンロードするためにセルラーネットワークが利用され得るか否かを判定するようにさらに構成される記憶システム。 The storage system of claim 18.
In order to determine the type of network that can be used to download the discardable file to the storage system, the processor determines whether a cellular network can be used to download the discardable file to the storage system. A storage system further configured to determine whether.
前記廃棄可能ファイルを前記記憶システムに格納する要求と関連付けられているダウンロード条件を判定するために、前記プロセッサは、前記廃棄可能ファイルを前記記憶システムにダウンロードするときに前記記憶システムが利用し得る電力条件を判定するようにさらに構成される記憶システム。 The storage system of claim 16.
In order to determine a download condition associated with a request to store the discardable file in the storage system, the processor may use power that the storage system may use when downloading the discardable file to the storage system. A storage system further configured to determine the condition.
前記廃棄可能ファイルを前記記憶システムにダウンロードするときに前記記憶システムが利用し得る電力条件を判定するために、前記プロセッサは、前記記憶システムが電源と結合されていると判定するようにさらに構成される記憶システム。 The storage system of claim 21, wherein
The processor is further configured to determine that the storage system is coupled to a power source to determine a power condition that the storage system can utilize when downloading the discardable file to the storage system. Storage system.
前記廃棄可能ファイルを前記記憶システムにダウンロードするときに前記記憶システムが利用し得る電力条件を判定するために、前記プロセッサは、前記記憶システムと関連付けられているバッテリが充電中であると判定するようにさらに構成される記憶システム。 The storage system of claim 21, wherein
To determine a power condition that the storage system can utilize when downloading the discardable file to the storage system, the processor determines that a battery associated with the storage system is charging. A storage system further configured.
前記廃棄可能ファイルを前記記憶システムにダウンロードするときに前記記憶システムが利用し得る電力条件を判定するために、前記プロセッサは、前記記憶システムと関連付けられているバッテリの電力レベルが所定のレベルより高いと判定するようにさらに構成される記憶システム。 The storage system of claim 21, wherein
In order to determine a power condition that the storage system can utilize when downloading the discardable file to the storage system, the processor has a power level of a battery associated with the storage system higher than a predetermined level A storage system further configured to determine.
前記廃棄可能ファイルを前記記憶システムに格納する要求と関連付けられているダウンロード条件を判定するために、前記プロセッサは、前記廃棄可能ファイルを前記記憶システムに格納する要求と関連付けられている時刻を判定するようにさらに構成される記憶システム。 The storage system of claim 16.
In order to determine a download condition associated with a request to store the discardable file in the storage system, the processor determines a time associated with a request to store the discardable file in the storage system. As further configured as a storage system.
前記廃棄可能ファイルを前記記憶システムに格納する要求と関連付けられているダウンロード条件を判定するために、前記プロセッサは、前記廃棄可能ファイルを前記記憶システムに格納する前の前記記憶システム内の利用可能なストレージの量が所定のレベルより高いと判定するようにさらに構成される記憶システム。 The storage system of claim 16.
In order to determine a download condition associated with a request to store the discardable file in the storage system, the processor is available in the storage system prior to storing the discardable file in the storage system. A storage system further configured to determine that the amount of storage is higher than a predetermined level.
前記ファイルを廃棄可能ファイルとマーキングするために、前記プロセッサは、前記ファイルが廃棄可能ファイルであることを示すように前記ファイル自体をマーキングするようにさらに構成される記憶システム。 The storage system of claim 16.
In order to mark the file as a discardable file, the processor is further configured to mark the file itself to indicate that the file is a discardable file.
前記ファイルを廃棄可能ファイルとマーキングするために、前記プロセッサは、廃棄優先レベルを前記ファイルに割り当てるようにさらに構成される記憶システム。
The storage system of claim 16.
In order to mark the file as a discardable file, the processor is further configured to assign a discard priority level to the file.
前記プライマリFATは、プライマリファイルシステムアーキテクチャに含まれ、
前記廃棄可能FATは、廃棄可能ファイルシステムアーキテクチャに含まれる記憶システム。 The storage system of claim 16.
The primary FAT is included in a primary file system architecture;
The discardable FAT is a storage system included in a discardable file system architecture .
前記プロセッサは、前記ファイルが廃棄可能ファイルであるとするマーキングに基づいて、前記不揮発性メモリにおけるダウンロードされた廃棄可能ファイルの記憶を管理するようにさらに構成される記憶システム。 The storage system of claim 16.
The storage system is further configured to manage storage of a downloaded discardable file in the non-volatile memory based on a marking that the file is a discardable file.
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US15903409P | 2009-03-10 | 2009-03-10 | |
US61/159,034 | 2009-03-10 | ||
US25941809P | 2009-11-09 | 2009-11-09 | |
US61/259,418 | 2009-11-09 | ||
PCT/US2010/026596 WO2010104814A1 (en) | 2009-03-10 | 2010-03-09 | Download management of discardable files |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2012520507A JP2012520507A (en) | 2012-09-06 |
JP5715964B2 true JP5715964B2 (en) | 2015-05-13 |
Family
ID=42335011
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2011554108A Expired - Fee Related JP5715964B2 (en) | 2009-03-10 | 2010-03-09 | Managing downloadable files |
Country Status (5)
Country | Link |
---|---|
EP (1) | EP2406733A1 (en) |
JP (1) | JP5715964B2 (en) |
KR (1) | KR20110127636A (en) |
CN (1) | CN102257497B (en) |
WO (1) | WO2010104814A1 (en) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9104686B2 (en) | 2008-12-16 | 2015-08-11 | Sandisk Technologies Inc. | System and method for host management of discardable objects |
US9020993B2 (en) | 2008-12-16 | 2015-04-28 | Sandisk Il Ltd. | Download management of discardable files |
US9015209B2 (en) | 2008-12-16 | 2015-04-21 | Sandisk Il Ltd. | Download management of discardable files |
US20120185638A1 (en) * | 2011-01-14 | 2012-07-19 | Daniel Schreiber | Method and system for cache endurance management |
WO2012096951A2 (en) * | 2011-01-16 | 2012-07-19 | Sandisk Technologies Inc. | System and method for managing discardable objects |
US9459807B2 (en) | 2013-03-14 | 2016-10-04 | Qualcomm Incorporated | Methods and systems for providing resources for cloud storage |
JP6361130B2 (en) | 2013-12-24 | 2018-07-25 | 株式会社ソシオネクスト | File access program and file access method |
CN108388496A (en) * | 2018-01-23 | 2018-08-10 | 晶晨半导体(上海)股份有限公司 | A kind of collection method of system log |
EP3746925B1 (en) * | 2018-02-02 | 2024-09-11 | The Charles Stark Draper Laboratory Inc. | Systems and methods for policy execution processing |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4022971B2 (en) * | 1998-02-16 | 2007-12-19 | ソニー株式会社 | Storage device and data deletion method |
US6173316B1 (en) * | 1998-04-08 | 2001-01-09 | Geoworks Corporation | Wireless communication device with markup language based man-machine interface |
US7043506B1 (en) * | 2001-06-28 | 2006-05-09 | Microsoft Corporation | Utility-based archiving |
US20050044177A1 (en) * | 2001-10-02 | 2005-02-24 | Jelte Liebrand | Mobile web browsing device |
JP3816858B2 (en) * | 2002-10-15 | 2006-08-30 | 株式会社東芝 | Information distribution method |
US7395048B2 (en) * | 2002-12-26 | 2008-07-01 | Motorola, Inc. | Unsolicited wireless content delivery and billing apparatus and method |
WO2005022941A1 (en) * | 2003-08-27 | 2005-03-10 | Siemens Aktiengesellschaft | Method for the controlled delayed execution of software downloads |
JP2005301455A (en) * | 2004-04-07 | 2005-10-27 | Ntt Docomo Inc | Communication device, server device, and memory management method |
JP4572592B2 (en) * | 2004-06-14 | 2010-11-04 | 三菱電機株式会社 | Storage device |
JP2007148637A (en) * | 2005-11-25 | 2007-06-14 | Sony Corp | Information storage device, information processing method and program |
CN101406060A (en) * | 2006-04-12 | 2009-04-08 | 汤姆逊许可公司 | Time-delay video downloading service by using P2P content distribution network |
DE102007015535A1 (en) * | 2007-03-30 | 2008-10-02 | Siemens Ag | Method for digital storage of data on a data storage with limited available storage space |
-
2010
- 2010-03-09 KR KR1020117013712A patent/KR20110127636A/en not_active Application Discontinuation
- 2010-03-09 CN CN201080003585.2A patent/CN102257497B/en active Active
- 2010-03-09 JP JP2011554108A patent/JP5715964B2/en not_active Expired - Fee Related
- 2010-03-09 WO PCT/US2010/026596 patent/WO2010104814A1/en active Application Filing
- 2010-03-09 EP EP10715616A patent/EP2406733A1/en not_active Withdrawn
Also Published As
Publication number | Publication date |
---|---|
EP2406733A1 (en) | 2012-01-18 |
CN102257497A (en) | 2011-11-23 |
JP2012520507A (en) | 2012-09-06 |
CN102257497B (en) | 2015-06-10 |
WO2010104814A1 (en) | 2010-09-16 |
KR20110127636A (en) | 2011-11-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9015209B2 (en) | Download management of discardable files | |
KR101767710B1 (en) | Card-based management of discardable files | |
JP5715964B2 (en) | Managing downloadable files | |
US8549229B2 (en) | Systems and methods for managing an upload of files in a shared cache storage system | |
JP2012512460A (en) | Discardable file | |
US20100153474A1 (en) | Discardable files | |
US20120054152A1 (en) | Managing data access requests after persistent snapshots | |
US8205060B2 (en) | Discardable files | |
US8375192B2 (en) | Discardable files | |
CN109804359A (en) | For the system and method by write back data to storage equipment | |
US9020993B2 (en) | Download management of discardable files | |
US8849856B2 (en) | Discardable files |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20130115 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20140131 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20140218 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20140512 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20140519 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20140523 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20141104 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20150129 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20150303 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20150316 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5715964 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
LAPS | Cancellation because of no payment of annual fees |