JP5715964B2 - Managing downloadable files - Google Patents

Managing downloadable files Download PDF

Info

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
Application number
JP2011554108A
Other languages
Japanese (ja)
Other versions
JP2012520507A (en
Inventor
ガムリエル ハーン,ユダ
ガムリエル ハーン,ユダ
コレン,デイビッド
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Western Digital Israel Ltd
Original Assignee
SanDisk IL Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by SanDisk IL Ltd filed Critical SanDisk IL Ltd
Publication of JP2012520507A publication Critical patent/JP2012520507A/en
Application granted granted Critical
Publication of JP5715964B2 publication Critical patent/JP5715964B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/957Browsing optimisation, e.g. caching or content distillation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/17Details of further file system functions
    • G06F16/1737Details of further file system functions for reducing power consumption or coping with limited storage space, e.g. in mobile devices

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Quality & Reliability (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Information Transfer Between Computers (AREA)

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.

米国仮特許出願第61/159,034号US Provisional Patent Application No. 61 / 159,034 米国仮特許出願第61/259,418号US provisional patent application 61 / 259,418 米国特許出願第12/336,089号US patent application Ser. No. 12 / 336,089 米国仮特許出願第61/159,034号US Provisional Patent Application No. 61 / 159,034

従って、非請求ファイルを、それらを記憶装置に収容するために必要とされる記憶スペースがユーザのファイルのために必要とされない間、記憶装置に格納することができて、ユーザファイルのために最小サイズの空き記憶スペースを保証するために記憶装置から非請求ファイルを除去することができれば有益である。種々の実施形態が、そのようなファイル管理を実行するように設計され、その例がここに提供されている。   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.

一実施形態に従う記憶システムのブロック図である。1 is a block diagram of a storage system according to one embodiment. 他の実施形態に従う記憶システムのブロック図である。FIG. 6 is a block diagram of a storage system according to another embodiment. 一実施形態に従うストレージアロケータのブロック図である。2 is a block diagram of a storage allocator according to one embodiment. FIG. 一実施形態に従ってファイルを管理する方法である。1 is a method of managing files according to one embodiment. 一実施形態に従って記憶装置における廃棄可能ファイルの記憶を管理する方法である。1 is a method of managing storage of a discardable file in a storage device according to one embodiment. 一実施形態に従ってFAT32構造化ファイルシステムにおいて1つ以上の非請求ファイルをマーキングする方法である。2 is a method for marking one or more unsolicited files in a FAT32 structured file system according to one embodiment. FAT32テーブルと関連付けられている代表的なディレクトリ領域である。This is a typical directory area associated with the FAT32 table. 一実施形態に従うFAT32テーブルである。4 is a FAT32 table according to one embodiment. 一実施形態に従うNTFSテーブルである。4 is an NTFS table according to one embodiment. 一実施形態に従うFATベースのファイルシステムの論理イメージである。2 is a logical image of a FAT-based file system according to one embodiment. 本開示に従うファイルの記憶管理方法を示す。3 illustrates a file storage management method according to the present disclosure. 代表的なプライマリFATを示す。A representative primary FAT is shown. 代表的な廃棄可能FATを示す。A representative discardable FAT is shown. プライマリFATおよび廃棄可能FATを用いて記憶装置を管理する方法のフローチャートである。3 is a flowchart of a method for managing a storage device using a primary FAT and a discardable FAT. FATおよびデータベースを用いて記憶装置を管理する方法のフローチャートである。3 is a flowchart of a method for managing a storage device using a FAT and a database. FATおよびロケーションファイルを用いて記憶装置を管理する方法のフローチャートである。3 is a flowchart of a method for managing a storage device using a FAT and a location file. クラスタチェーンを含み、そのクラスタチェーンを構成する2つ以上のクラスタの順序がスクランブルされている代表的なFATを示す。A representative FAT that includes a cluster chain and in which the order of two or more clusters that make up the cluster chain is scrambled is shown. 代表的なFATおよび関連付けられているロケーションファイルを示し、そのFATはクラスタチェーンを含み、そのクラスタチェーンを構成するクラスタのうちの2つ以上の順序はスクランブルされている。A representative FAT and associated location file is shown, the FAT includes a cluster chain, and the order of two or more of the clusters that make up the cluster chain is scrambled. クラスタチェーンを構成する2つ以上のクラスタの順序がスクランブルされているFATを用いて記憶装置を管理する方法のフローチャートである。3 is a flowchart of 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. プライマリFATおよび廃棄可能FATを実現するファイルシステムにおいて廃棄可能ファイルがオープンであるときに、その廃棄可能ファイルの変換を阻止するために変換ロックを利用する方法のフローチャートである。10 is a flowchart of 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 a primary FAT and a discardable FAT. ファイルシステムにおける代表的なビットマスクユーザIDを示す。A representative bit mask user ID in the file system is shown. スマートキャッシュのクライアント側コンポーネントを示す。Shows the client-side component of the smart cache. スマートキャッシュHD向けに改変された廃棄可能ファイルのためのファイルシステム構造を示す。Fig. 5 shows a file system structure for a discardable file modified for smart cache HD. スマートキャッシュHDシステムに用いられるラージファイルマネージャのブロック図である。It is a block diagram of the large file manager used for a smart cache HD system. 大きな廃棄可能ファイルのための変換フローを描いた図である。FIG. 6 depicts a conversion flow for a large discardable file. ラージファイルマネージャで変換要求を処理する方法を示すフローチャートである。It is a flowchart which shows the method of processing a conversion request with a large file manager. 分割され得るファイルの例としてのマトロスカファイル構造を描いた図である。FIG. 6 depicts a Matroska file structure as an example of a file that can be split. 分割されたマトロスカファイルを描いた図である。It is the figure on which the divided Matroska file was drawn. 記憶装置の記憶領域への廃棄可能ファイルのダウンロードを管理する方法のフローチャートである。4 is a flowchart of a method for managing download of a discardable file to a storage area of a storage device.

次の記述は代表的な実施形態の種々の詳細事項を提供する。しかし、この記述は、特許請求の範囲を限定するように意図されてはいなくて、本発明の種々の原理と、その実施方法とを説明するように意図されている。   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, Windows Server 2008, and Windows Vista. A standard file system of Windows NT including FAT 32 and NTFS is a typical file system that the storage device 100 can have.

図1は、代表的な記憶装置100を示す。記憶装置100は種々のタイプのファイル(例えば、音楽ファイル、ビデオファイルなど)を格納するための記憶領域110を含み、そのうちのいくつかはユーザファイルであり、他は発行者ファイルであり得る。記憶装置100は、データおよび制御線130を介して記憶領域110を管理するストレージコントローラ120も含む。ストレージコントローラ120は、ホストインターフェイス150を介してホスト装置140とも通信する。ホスト装置140は、専用ハードウェアあるいは汎用コンピューティングプラットフォームであり得る。   FIG. 1 shows a representative storage device 100. Storage device 100 includes a storage area 110 for storing various types of files (eg, music files, video files, etc.), some of which may be user files and others may be publisher files. The storage device 100 also includes a storage controller 120 that manages the storage area 110 via data and control lines 130. The storage controller 120 also communicates with the host device 140 via the host interface 150. The host device 140 can be dedicated hardware or a general purpose computing platform.

記憶領域110は、例えば、NANDフラッシュタイプのものであり得る。ストレージコントローラ120は、例えば「読み出し」、「書き込み」および「消去」操作、ウェアレベリング(損耗平滑化)などを制御することと、ホスト140との通信を制御することとにより、記憶領域110へ/記憶領域110からのデータ転送およびホスト装置140へ/ホスト装置140からのデータ転送の全てを制御する。記憶領域110は、例えば、ユーザファイルおよび発行者のファイルと、許可されたホスト装置だけによって使用されることが許される保護データと、ストレージコントローラ120によって、内部でだけ使用されるセキュリティデータとを含むことができる。ホスト(例えば、ホスト140)は、記憶領域110に直接アクセスすることはできない。すなわち、例えば、ホスト140が記憶装置100からのデータを求めるかあるいは必要とするならば、ホスト140は、それをストレージコントローラ120から要求しなければならない。記憶装置100に格納されているデータファイルへのアクセスを容易にするために、記憶装置100はファイルシステム160を備えている。   The storage area 110 may be, for example, a NAND flash type. For example, the storage controller 120 controls the “read”, “write” and “erase” operations, wear leveling (wear smoothing), and the like, and controls communication with the host 140 to / from the storage area 110. All of the data transfer from the storage area 110 and the data transfer to / from the host device 140 are controlled. The storage area 110 includes, for example, user files and issuer files, protection data that is allowed to be used only by authorized host devices, and security data that is used only internally by the storage controller 120. be able to. A host (eg, host 140) cannot directly access the storage area 110. That is, for example, if the host 140 seeks or needs data from the storage device 100, the host 140 must request it from the storage controller 120. In order to facilitate access to data files stored in the storage device 100, the storage device 100 includes a file system 160.

記憶領域110は機能的に3つの部分、すなわちユーザ領域170、発行者領域180、および空き記憶スペース190に分けられている。ユーザ領域170は記憶領域110の中の、ユーザファイルが格納される記憶スペースである。発行者領域180は、記憶領域110の中の、発行者ファイルが格納される記憶スペースである。空き記憶スペース190は、記憶領域110の中の空の記憶スペースである。空き記憶スペース190は、ユーザファイルまたは発行者ファイルを収容するために使用され得る。ユーザファイルを空き記憶スペース190に格納すると、そのユーザファイルを収容している記憶スペースは、空き記憶スペース190から差し引かれてユーザ領域170に加えられる。同様に、発行者ファイルを空き記憶スペース190に格納すると、その発行者ファイルを収容している記憶スペースは、空き記憶スペース190から差し引かれて発行者領域180に加えられる。ユーザファイルまたは発行者ファイルが記憶領域110から除去(すなわち、削除)されると、その解放された記憶スペースは空き記憶スペース190に加えられる(戻る)。   The storage area 110 is functionally divided into three parts: a user area 170, an issuer area 180, and a free storage space 190. The user area 170 is a storage space for storing user files in the storage area 110. The issuer area 180 is a storage space for storing the issuer file in the storage area 110. The free storage space 190 is an empty storage space in the storage area 110. Free storage space 190 may be used to accommodate user files or issuer files. When the user file is stored in the free storage space 190, the storage space containing the user file is subtracted from the free storage space 190 and added to the user area 170. Similarly, when the issuer file is stored in the free storage space 190, the storage space containing the issuer file is subtracted from the free storage space 190 and added to the issuer area 180. When a user file or issuer file is removed (ie, deleted) from the storage area 110, the released storage space is added to the free storage space 190 (returned).

空き記憶スペース190のサイズがそれを許すならば、記憶装置100のユーザは、ユーザファイルをホスト140から記憶領域110にダウンロードすることができる。そのダウンロードされたユーザファイルは空き記憶スペース190に格納され、前に説明したように、そのファイルを収容している記憶スペースは、空き記憶スペース190から差し引かれてユーザ領域170に加えられる。前に説明したように、ユーザファイルは他の(例えば、発行者)ファイルにまさる優先権を有し、その優先権を保証するために、所望のストレージ使用安全マージンがセットされ、必要ならば、以下で記載される方法で、回復される。   If the size of the free storage space 190 allows it, the user of the storage device 100 can download the user file from the host 140 to the storage area 110. The downloaded user file is stored in the free storage space 190, and as described above, the storage space containing the file is subtracted from the free storage space 190 and added to the user area 170. As explained previously, user files have priority over other (eg, issuer) files, and the desired storage usage safety margin is set to guarantee that priority, and if necessary, Recovery is achieved in the manner described below.

ホスト140は、空き記憶スペース190の回復を容易にするためのストレージアロケータ144を含む。ストレージアロケータ144は、ハードウェア、ファームウェア、ソフトウェアまたはそれらの任意の組み合わせであり得る。一般的に、ストレージアロケータ144は、ホスト140に伝送されたファイル(例えば、ファイル142)がユーザファイルであるのか、それとも発行者ファイルであるのかを判定し、それに応じて、その伝送されたファイルをマーキングする(すなわち、非廃棄可能ファイルあるいは廃棄可能ファイルとマーキングする)。   Host 140 includes a storage allocator 144 for facilitating recovery of free storage space 190. Storage allocator 144 can be hardware, firmware, software, or any combination thereof. Generally, the storage allocator 144 determines whether the file (eg, file 142) transmitted to the host 140 is a user file or an issuer file, and the transmitted file is determined accordingly. Mark (ie, mark as non-disposable or disposable).

ホスト140に伝送されたファイル(例えば、ファイル142)が、例えばそのファイルがユーザファイルであるので、非廃棄可能であるとストレージアロケータ144が判定すれば、ストレージアロケータ144はそのファイルを記憶領域110に正規の方法で格納する。前に説明したように、記憶領域110の中の、非廃棄可能ファイルを収容する記憶スペースは、ユーザ領域170に加えられるか、あるいはその一部になる。しかし、ホスト140に伝送されたファイルが、例えばそれが発行者ファイルであるので、廃棄可能であるとストレージアロケータ144が判定すれば、ストレージアロケータ144はそのファイルを廃棄可能とマーキングする。或るインプリメンテーションでは、ファイルを廃棄可能とマーキングするために、ストレージアロケータ144は、ファイルシステム160内のファイルシステム構造を、ファイルが廃棄可能ファイルであることを示すようにマーキングするということを理解すべきである。他のインプリメンテーションでは、ファイルを廃棄可能とマーキングするために、ストレージアロケータ144はファイル自体を廃棄可能ファイルとマーキングする。空き記憶スペース190が所望のストレージ使用安全マージンより大きければ、ストレージアロケータ144は、そのマーキングされた廃棄可能ファイルをも空き記憶スペース190に格納し、前に説明したように、空き記憶スペース190の中の廃棄可能ファイルを収容する記憶スペースは空き記憶スペース190から差し引かれて(すなわち、空き記憶スペースが減じられて)発行者領域180に加えられる(この追加は、廃棄可能ファイル182として論理的に示されている)。   If the storage allocator 144 determines that the file (for example, the file 142) transmitted to the host 140 is non-disposable because, for example, the file is a user file, the storage allocator 144 stores the file in the storage area 110. Store in a regular way. As previously described, storage space in the storage area 110 containing non-disposable files is added to or becomes part of the user area 170. However, if the storage allocator 144 determines that the file transmitted to the host 140 can be discarded, for example because it is an issuer file, the storage allocator 144 marks the file as discardable. In some implementations, in order to mark a file as discardable, the storage allocator 144 marks the file system structure in the file system 160 to indicate that the file is a discardable file. Should. In other implementations, the storage allocator 144 marks the file itself as a discardable file in order to mark the file as discardable. If the free storage space 190 is larger than the desired storage usage safety margin, the storage allocator 144 also stores the marked discardable file in the free storage space 190 and, as previously described, in the free storage space 190. The storage space that contains the discardable files is subtracted from the free storage space 190 (ie, the free storage space is reduced) and added to the issuer area 180 (this addition is logically shown as the discardable file 182). Have been).

前に説明したように、発行者ファイルがユーザにより使用される確度は発行者ファイルごとに異なり得るので、最小の使用確度を有する発行者ファイルは、記憶領域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 storage area 110. It becomes. Thus, in addition to marking files as non-disposable or disposable, the storage allocator 144 assigns a discard priority level to each discardable file before, simultaneously with, or after the discardable file is stored in the storage area 110. assign.

ファイルを非廃棄可能または廃棄可能とマーキングすることにより、ストレージアロケータ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 storage allocator 144 assigns a discard priority level, and by using the file system 160 (or its image) of the storage device 100, the storage allocator 144 is stored in the storage area 110. It also “recognizes” the number of user files and publisher files in it, as well as their size and logical location within storage area 110. Recognizing this information (ie, the number, size, and location of files), and based on one or more marked files, the storage allocator 144 may identify the storage area 110 and the billing files and unclaimed in the storage area 110. Manage file storage. The management of the storage area 110 or the management of the storage of files in the storage area 110 may be performed by, for example, selectively removing one or more files marked as discardable, recovering the storage use safety margin, and marking as discardable. May include freeing up storage by removing all files that have been processed, and remapping a cluster of files to a lower performance storage module. Management of storage area 110 or the files stored therein may include other or alternative aspects of management of storage area 110 or files stored therein.

ストレージアロケータ144は、各廃棄可能ファイルに割り当てられている廃棄レベルにより、将来のユーザファイルのために初めに確保されていた空き記憶スペースを回復するために(すなわち、所望のストレージ使用安全マージンを回復するために)廃棄可能ファイルが廃棄(すなわち、記憶領域110から削除または除去)され得るかあるいはされるべき順序をも認識する。従って、ユーザが新しいユーザファイルを記憶領域110に格納することを希望しているけれども、そのユーザファイルを収容する充分な空き記憶スペースがなければ(それは、ストレージ使用安全マージンが所望より狭いことを意味する)、ストレージアロケータ144は、所望のストレージ使用安全マージンが充分に回復されるまで、より大きな空き記憶スペースを取り戻すために(すなわち、空き記憶スペース190を拡張するために)廃棄可能ファイルを一つずつ反復して削除してゆくために、廃棄可能ファイルに割り当てられている廃棄優先レベルを使用する。前に説明したように、充分に回復されたストレージ使用安全マージンは、将来のユーザファイルのために充分な空き記憶スペースが確保されることを高い確率で保証する。格納されている廃棄可能ファイルをユーザがいつか使用することを望むかも知れないということが考慮され、従って廃棄可能ファイルは、そのファイルを収容している記憶スペースが新しいユーザファイルのために必要とされる場合に限って記憶装置から除去されるので、廃棄可能ファイルは、新しいユーザファイルを格納する要求を受け取ったことに応じて記憶装置100から除去されるかあるいは削除されるに過ぎない。ストレージアロケータ144は、ホスト140に埋め込まれるかあるいは組み込まれてよく、あるいはホスト140の外に(破線のボックス144’として示されている)および記憶装置100の外に存在してもよい。   The storage allocator 144 recovers the free storage space originally reserved for future user files (ie, recovers the desired storage usage safety margin) according to the discard level assigned to each discardable file. It also recognizes the order in which discardable files can be discarded (ie, deleted or removed from storage area 110) or to be performed. Thus, the user wishes to store a new user file in storage area 110, but there is not enough free storage space to accommodate the user file (which means that the storage usage safety margin is narrower than desired). The storage allocator 144 will remove one disposable file to reclaim more free storage space (ie, to expand the free storage space 190) until the desired storage usage safety margin is fully restored. Use the discard priority level assigned to the discardable file to delete iteratively. As explained earlier, a fully recovered storage usage safety margin ensures a high probability that sufficient free storage space is reserved for future user files. Considering that a user may wish to use a stored discardable file at some point, a discardable file is therefore needed for a new user file for storage space containing that file. So that the discardable file is only removed or deleted from the storage device 100 in response to receiving a request to store a new user file. The storage allocator 144 may be embedded in or incorporated into the host 140, or may exist outside the host 140 (shown as a dashed box 144 ′) and outside the storage device 100.

ストレージアロケータ144は、記憶装置100のファイルシステムあるいは記憶装置100と関連付けられているファイルシステムの代表的なイメージを有する。ストレージアロケータ144は、ファイルを非廃棄可能あるいは廃棄可能とマーキングするため、かつ各廃棄可能ファイルに廃棄レベルを割り当てるために、記憶装置のファイルシステムイメージを使用する。一例では、ファイルシステムはFATを含み、この場合にはマーキングは、ファイルと関連付けられているFATエントリの未使用部分において1つ以上の未使用ビットをセットすることによって行われる。様々なファイルシステムが様々な構造を有するので、図6〜1と関連して以下で詳細に説明および記述するように、ファイルのマーキング(すなわち、非廃棄可能あるいは廃棄可能としての)および廃棄レベルの割り当ては、使用されるファイルシステム構造に適合させられる。   The storage allocator 144 has a representative image of the file system of the storage device 100 or a file system associated with the storage device 100. The storage allocator 144 uses the file system image of the storage device to mark the file as non-disposable or discardable and to assign a discard level to each discardable file. In one example, the file system includes FAT, in which case marking is done by setting one or more unused bits in the unused portion of the FAT entry associated with the file. Because different file systems have different structures, file marking (ie, as non-disposable or disposable) and discard level, as described and described in detail below in connection with FIGS. The allocation is adapted to the file system structure used.

図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 portable storage device 200 according to another embodiment. The storage controller 220 functions similarly to the storage controller 120, and the storage allocator 244 functions similarly to the storage allocator 144. Storage allocator 244 can be hardware, firmware, software, or any combination thereof. Storage allocator 244 cooperates with storage controller 220 internally. Each time the storage controller 220 receives a storage request from the host 240 that stores the file in the storage area 210, including an indication of whether the file is a discardable file, the storage controller 220 Further, the storage allocator 244 is informed whether the file can be discarded. Storage allocator 244 then marks the file as non-disposable or disposable in the structure of the file system associated with storage device 200. Typically, an application executing on the host 240 determines that the file is a discardable file and sends a flag or other indication to the storage controller 220 indicating that the file is a discardable file. An application executing on the host 240 sends the flag or other indication as part of the storage protocol for requesting that the file be stored on the storage device. Examples of such storage protocols are POSIX file system functions or Java. Includes the use of io class trees.

新しいファイルが廃棄可能であるとストレージアロケータ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 storage allocator 244 determines that a new file can be discarded, the storage allocator 244 assigns a discard priority level to the new file according to the file usage probability. The storage allocator 244 then evaluates the current size of the free storage space 290 and one or more disposable files are removed (ie, deleted) from the storage area 210 to make room for the new file. Decide what to do. If one or more files are to be removed from storage, the storage allocator 244 determines which file is the current candidate file for removal. Thereafter, the storage allocator 244 informs the storage controller 220 of the discardable file to be removed from the storage area 210, and in response to this notification, the storage controller 220 indicates one or more discardables indicated by the storage allocator 244. Remove the file. In certain configurations of portable storage device 220, storage allocator 244 may be functionally positioned between storage controller 220 and storage area 210. In configurations where the storage allocator 244 is functionally located between the storage controller 220 and the storage area 210, the storage allocator 244 or storage area 210 must assume some of the functions of the storage controller 220. In such a configuration, the storage area 210 is composed of memory units that communicate at a higher level than the flash NAND protocol.

図3は、一実施形態に従うストレージアロケータ300のブロック図である。ストレージアロケータ300は、メモリユニット310、プロセッサ320、およびインターフェイス330を含む。メモリユニット310は、記憶装置(例えば、図2の記憶装置200)と関連付けられているファイルシステム構造またはファイルシステム構造のイメージを収容することができる。プロセッサ320は、記憶装置と関連付けられているファイルシステムを管理する。インターフェイス330は、図1に示されているようにホストと、さらに記憶装置のストレージコントローラと、あるいは図2に示されているように記憶装置のストレージコントローラだけと協力するように適合させられ得る。   FIG. 3 is a block diagram of a storage allocator 300 according to one embodiment. The storage allocator 300 includes a memory unit 310, a processor 320, and an interface 330. Memory unit 310 may contain a file system structure or an image of the file system structure associated with a storage device (eg, storage device 200 of FIG. 2). The processor 320 manages a file system associated with the storage device. The interface 330 may be adapted to cooperate with the host as shown in FIG. 1 and also with the storage controller of the storage device, or with only the storage controller of the storage device as shown in FIG.

プロセッサ320は、記憶装置の記憶領域にファイルを格納する要求をインターフェイス330を介して受け取り、ストレージアロケータ300と協同する記憶装置と関連付けられているファイルシステムの構造においてファイルを廃棄可能または非廃棄可能とマーキングするように構成されるかあるいは適合させられる。インターフェイス330が図2のストレージコントローラ220に機能的に付属させられているならば(従って、例えば、ファイルレベルのコマンドではなくてSCSIコマンドまたはラップされたUSB/MSCコマンドを受け取るならば)、受け取られた要求はファイルレベルより遥かに低いレベルにある。すなわち、受け取られた要求は、ホストにより適切に解釈されるとファイルに対応することになる論理ブロックアドレスにセクタを格納する要求である。ストレージコントローラ220がNVMHCIプロトコル、またはNFSもしくは類似のプロトコルなどのネットワーキングファイルシステムプロトコルをサポートするならば、ストレージコントローラ220はファイルレベルの要求を受け取ることができる。従って、ストレージコントローラ220などのストレージコントローラとインターフェイス330などのインターフェイスとの間の通信は、NVMHCIあるいはNVMHCIのようなインプリメンテーションに限定されない。通信インターフェイス330は、図3に示されているように、ストレージアロケータ300に不可欠のものであり得る。   The processor 320 receives a request to store a file in the storage area of the storage device via the interface 330 and allows the file to be discarded or non-discardable in the structure of the file system associated with the storage device cooperating with the storage allocator 300. Configured or adapted for marking. If the interface 330 is functionally attached to the storage controller 220 of FIG. 2 (thus receiving, for example, a SCSI command or a wrapped USB / MSC command instead of a file level command) The request is at a level far below the file level. That is, the received request is a request to store a sector at a logical block address that will correspond to the file if properly interpreted by the host. If the storage controller 220 supports the NVMHCI protocol, or a networking file system protocol such as NFS or similar protocol, the storage controller 220 can receive file level requests. Thus, communication between a storage controller such as storage controller 220 and an interface such as interface 330 is not limited to implementations such as NVMHCI or NVMHCI. Communication interface 330 may be integral to storage allocator 300, as shown in FIG.

プロセッサ320は、マーキングされたファイルを記憶装置に送るようにさらに構成されるかあるいは適合させられ、ファイルを廃棄可能とマーキングすることは、そのファイルに廃棄優先レベルを割り当てることを含む。記憶装置により使用されるファイルシステムがFATベースであるならば、プロセッサ320は、マーキングされたファイルに廃棄優先レベルを、そのマーキングされたファイルに対応するFAT内のm個の最上(すなわち、最上位)のビット(例えば、m=4)に、対応する値をセットすることによって、割り当てる。FATエントリ内の最上位ビットにセットされるその対応する値、あるいはNTFSディレクトリのエントリにセットされる値、もしくはそれは、ファイルの属性に関連付けられ得る。「属性」は、FATテーブルまたはNTFSテーブルのヘッダの中の、テーブルに格納されているコンテンツのタイプに関係する情報を包含するメタデータタグあるいは何らかのデータ構造を意味する。「広告」、「プレミアムコンテンツ」、および「販売促進(無料)コンテンツ」は、FATテーブルあるいはNTFSテーブルに格納され得るコンテンツの代表的なタイプである。廃棄レベルをセットするための代わりの基準は、例えば、最後にアクセスされたファイル、ファイルのサイズ、ファイルのタイプなどである。   The processor 320 is further configured or adapted to send the marked file to the storage device, and marking the file as discardable includes assigning a discard priority level to the file. If the file system used by the storage device is FAT-based, the processor 320 assigns a discard priority level to the marked file and the m top (ie top) levels in the FAT corresponding to the marked file. ) Bits (eg, m = 4) are assigned by setting the corresponding value. Its corresponding value set in the most significant bit in the FAT entry, or the value set in the NTFS directory entry, or it can be associated with the attributes of the file. “Attribute” means a metadata tag or some data structure containing information related to the type of content stored in the table in the header of the FAT table or NTFS table. “Advertising”, “premium content”, and “promotional (free) content” are representative types of content that can be stored in a FAT table or NTFS table. Alternative criteria for setting the discard level are, for example, last accessed file, file size, file type, and the like.

ファイルをマーキングするために専用される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, processor 320 sets the value of the m most significant bits to 0 if the file being marked is non-discardable and 1 and 2 m −1 if the file being marked is discardable. Set to a value between. The discard priority level indicates the priority with which the marked file can be discarded from the storage device or should be discarded. For example, depending on the implementation, the value “1” may indicate a file that can be discarded with the lowest priority or highest priority, and the value “2 m −1” may have the highest priority or lowest priority. Each file that can be discarded can be shown in order.

プロセッサ320は、非請求ファイルが記憶装置のユーザによって使用されるであろう確度あるいは確率と関連して前に説明したように、マーキングされるファイルに、そのファイルの予想される使用に応じて、廃棄優先レベルを割り当てることができる。プロセッサ320は、マーキングされているファイルの廃棄優先レベルを、新しいファイルを記憶装置に格納する各要求を用いて、あるいはその各要求を受け取ったことに応答して、更新することができる。プロセッサ320は、所与のマーキングされているファイルの廃棄優先レベルを、記憶装置にファイルを格納する1つ以上の新しい要求とは無関係に、更新することができる。例えば、以前は高い優先順位のものであったファイルは、一定時間間隔後にその優先順位を下げられることができる。プロセッサ320は、記憶装置に格納されているファイルを、そのファイルが所定の廃棄しきい値と等しいかまたはそれより大きい廃棄優先レベルと関連付けられているならば、削除する。プロセッサ320は、ファイル書き込みまたは付加の数に基づいて、あるいは記憶装置上の空き記憶スペースの予想される使用または新しい発行者ファイルの可用性に依存して、廃棄しきい値をセット(リセット)することができる。   The processor 320, as previously described in connection with the accuracy or probability that an unsolicited file will be used by the user of the storage device, depends on the file being marked, depending on the expected use of the file: A discard priority level can be assigned. The processor 320 can update the discard priority level of the marked file with each request to store a new file in storage or in response to receiving each request. The processor 320 can update the discard priority level of a given marked file independently of one or more new requests to store the file in storage. For example, a file that was previously of high priority can be lowered in priority after a certain time interval. The processor 320 deletes the file stored on the storage device if the file is associated with a discard priority level equal to or greater than a predetermined discard threshold. The processor 320 sets (resets) the discard threshold based on the number of file writes or appends, or depending on the expected use of free storage space on the storage device or the availability of a new issuer file. Can do.

メモリユニット310は、記憶装置に格納されているファイルにプロセッサ320が割り当てている廃棄優先レベルを包含する割り当てテーブル340を収容することができる。さらに、割り当てテーブル340は、ファイルの識別子と、ファイルをファイルに割り当てられている廃棄優先レベルと関連付ける情報とを収容することができる。割り当てテーブル340は、さらに廃棄しきい値を収容することができる。割り当てテーブル340に収容されている情報により、プロセッサ320は所望のストレージ使用安全マージンを回復するためにどの1つまたは複数の廃棄可能ファイルを記憶装置から除去し得るかを特定することができる。   The memory unit 310 can accommodate an assignment table 340 that includes discard priority levels assigned by the processor 320 to files stored in the storage device. Furthermore, the allocation table 340 can contain file identifiers and information that associates files with discard priority levels assigned to files. The allocation table 340 can further accommodate a discard threshold. The information contained in the allocation table 340 allows the processor 320 to identify which one or more disposable files can be removed from the storage device to recover the desired storage usage safety margin.

新しいファイルを記憶装置に格納する要求を受け取ったことに応答して、プロセッサ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 processor 320 evaluates the size of the free storage space (f) on the storage device, and the estimated size of the free storage space on the storage device. If it is larger than the predetermined size, the new file is stored in the storage device, but if it is not larger than the predetermined size, the processor 320 looks for one or more disposable files in the storage device that can be deleted and Upon finding one or more files, the processor 320 expands the current free storage space (f) so that the total size of the extended free storage space is equal to or greater than the predetermined size. Delete the file or files. The one or more discardable files are stored if the discard priority level associated with the discardable file is equal to or greater than a predetermined discard threshold (eg, between 1 and 15, eg, 15). It can be deleted from the device.

空き記憶スペースが充分に拡張された後、プロセッサ320は、その拡張された空き記憶スペースに新しいファイルが格納されることを許可する。「空き記憶スペースが充分に拡張される」とは、所望のストレージ使用安全マージンを狭めることなく総空き記憶スペースが新しいファイルを収容できるようになるまで、あるいは同等のことであるが、拡張された空き記憶スペースの総サイズが所定のサイズに等しくなるかまたはそれより大きくなるまで、もしくは全ての廃棄可能ファイルが除去されるまで、占拠されている記憶スペースを1つずつ解放することによって空き記憶スペースを広げることを意味する。   After the free storage space is sufficiently expanded, the processor 320 allows new files to be stored in the expanded free storage space. “Free storage space is expanded sufficiently” means that the total free storage space can accommodate new files without reducing the desired storage safety margin, or equivalent, but has been expanded. Free storage space by releasing the occupied storage space one by one until the total size of the free storage space is equal to or larger than the predetermined size or until all discardable files are removed Means to spread.

プロセッサ320は、標準的ないつでも買えるシステムオンチップ(「SoC」)デバイス、またはシステムインパッケージ(「SiP」)デバイス、あるいは実行時に本願明細書に記載されているステップ、操作および評価を行う専用ソフトウェアを有する汎用処理装置であり得る。代わりに、プロセッサ320は、本願明細書に記載されているステップ、操作および評価をハードウェアを用いることによって実行する特定用途向け集積回路(「ASIC」)であり得る。   The processor 320 may be a standard ready-to-buy system-on-chip (“SoC”) device, or a system-in-package (“SiP”) device, or dedicated software that performs the steps, operations, and evaluations described herein at runtime. Can be a general-purpose processing apparatus. In the alternative, the processor 320 may be an application specific integrated circuit (“ASIC”) that performs the steps, operations, and evaluations described herein by using hardware.

図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 step 410, the host 140 receives a request to store the file 142 in the storage device 100. In step 420, the storage allocator 144 marks the file as “disposable” or “non-disposable”, and if the free storage space 190 is large enough, the storage controller 120 of the storage device 100 stores the marked file in step 430. (I.e., for storage in storage area 110). The file is also marked in the sense that a discard priority level is assigned to the file. At step 440, the storage allocator 144 may store the storage area 110 (through communication with the storage controller 120) based on the marked file, and optionally based on one or more files that have already been marked. Alternatively, the files stored in the storage area 110 are managed.

図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 storage device 100. Recognizing the current image of the file system 160 of the storage device 100, the storage allocator 144 at step 510, the free storage space 190 whose current size is f is the new file (ie, a candidate that is likely to be stored). File) can be examined to evaluate the current size “f” of the free storage space 190. In general, the way the storage allocator 144 processes a new file depends on whether the new file is a user file or an issuer file. Accordingly, the storage allocator 144 first determines whether the new file is a user file or an issuer file.

新しいファイルがユーザファイルである場合
ステップ520で、ストレージアロケータ144は、空き記憶スペース190が新しいユーザファイルを収容できるかを調べる。空き記憶スペース190が新しいユーザファイルを収容できるならば(ステップ520で「Y」として示されている)、ストレージアロケータ144は、ステップ560で、その新しいユーザファイルを格納することにより所望のストレージ使用安全マージンが狭められるか否かに関わらず新しいユーザファイルを空き記憶スペース190に格納する。ストレージアロケータ144が新しいユーザファイルを空き記憶スペース190に格納した後に所望のストレージ使用安全マージンがより狭くなるとしても(すなわち、所望のストレージ使用安全マージンと比べて)、ストレージアロケータ144は、その新しいユーザファイルの格納に関してそれ以上の処置をとらない。
If the new file is a user file, at step 520, the storage allocator 144 checks whether the free storage space 190 can accommodate the new user file. If the free storage space 190 can accommodate the new user file (indicated as “Y” in step 520), the storage allocator 144, in step 560, stores the new user file to store the desired storage usage safety. A new user file is stored in the free storage space 190 regardless of whether the margin is narrowed or not. Even though the storage allocator 144 stores the new user file in the free storage space 190, the desired storage usage safety margin becomes narrower (ie, compared to the desired storage usage safety margin), the storage allocator 144 will Take no further action on storing the file.

しかし、ストレージアロケータ144が新しいユーザファイルを空き記憶スペース190に格納した後に所望のストレージ使用安全マージンがより狭くなるならば、ステップ550は、所望のストレージ使用安全マージンを維持するために、どの格納されている廃棄可能ファイルが最初に削除されるべきか、どの廃棄可能ファイルが2番目に削除されるべきかなどをストレージアロケータ144が判定する追加のステップを含む。ストレージアロケータ144は、格納されている廃棄可能ファイルにストレージアロケータ144が割り当てた廃棄レベルに基づいて、どの廃棄可能ファイルが最初に削除されるべきか、どれが2番目に削除されるべきかなどを判定する。   However, if the desired storage usage safety margin becomes narrower after the storage allocator 144 stores the new user file in the free storage space 190, step 550 is stored to maintain the desired storage usage safety margin. Additional steps are included in which the storage allocator 144 determines which discardable files are to be deleted first, which discardable files are to be deleted second, and so on. The storage allocator 144 determines which discardable file should be deleted first, which should be deleted second, etc., based on the discard level assigned by the storage allocator 144 to the stored discardable file. judge.

空き記憶スペース190が新しいユーザファイルを収容できないとストレージアロケータ144がステップ520で判定すると(ステップ520で「N」として示されている)ストレージアロケータ144は、ステップ530で、空き記憶スペース190と、廃棄可能ファイルにより占拠されている記憶スペースとが結合されるとその新しいユーザファイルを格納するために充分であるかを判定する。その結合された記憶スペースが不十分であるならば(ステップ530で「N」として示されている)、どれだけ多くの廃棄可能ファイルが削除されても、その新しいユーザファイルは、そのサイズがより大きいために「非ユーザ」記憶領域に格納され得ないということを意味する。その結合された記憶スペースが充分であるならば(ステップ530で「Y」として示されている)、ストレージアロケータ144は、その新しいユーザファイルのために充分な記憶スペースを解放するために、格納されている廃棄可能ファイルのうちのどの廃棄可能ファイルが削除され得るかをステップ540で調べる。前に説明したように、ストレージアロケータ144は記憶装置のファイルシステムにおいてファイルを非廃棄可能または廃棄可能とマーキングするので、ストレージアロケータ144は、記憶装置100のファイルシステムを用いることによってこれらの廃棄可能ファイルを探す。さらに、マーキングされているファイルにストレージアロケータ144により割り当てられる廃棄レベルも、各廃棄レベルが対応するマーキングされたファイルと関連付けられるように、記憶装置のファイルシステムに埋め込まれる。   If the storage allocator 144 determines in step 520 that the free storage space 190 cannot accommodate a new user file (shown as “N” in step 520), the storage allocator 144, in step 530, discards the free storage space 190 and discards it. When combined with the storage space occupied by a possible file, it is determined whether it is sufficient to store the new user file. If the combined storage space is insufficient (indicated as “N” in step 530), no matter how many discardable files are deleted, the new user file will have a size that is greater. It means that it cannot be stored in the “non-user” storage area because it is large. If the combined storage space is sufficient (indicated as “Y” in step 530), the storage allocator 144 is stored to free up sufficient storage space for the new user file. In step 540, which discardable files are discarded can be deleted. As previously described, the storage allocator 144 marks the files in the storage device's file system as non-disposable or disposable, so that the storage allocator 144 uses the storage device's 100 file system to create these discardable files. Search for. In addition, the discard levels assigned by the storage allocator 144 to the marked file are also embedded in the storage file system so that each discard level is associated with a corresponding marked file.

最初に廃棄されるべき廃棄可能ファイル(「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 storage allocator 144 determines that storage space (this storage space is hereinafter referred to as “SP1”). File DF1 is deleted to add or return to storage space 190.

その後、ステップ550でストレージアロケータ144は、拡張された空き記憶スペース190(すなわち、空き記憶スペース190+最後に戻された記憶スペース、すなわちf+SP1)がその新しいユーザファイルを収容できるかを調べる。拡張された空き記憶スペース190(すなわち、f+SP1)が依然としてその新しいユーザファイルを収容できなければ(ステップ550で「N」として示されている)、ストレージアロケータ144は、さらなる記憶スペースを空き記憶スペース190に戻すために(すなわち、削除されるべき次の廃棄可能ファイルを見つけて削除することにより)ステップ550を反復的に繰り返す(反復は555で示されている)。   Thereafter, at step 550, the storage allocator 144 checks whether the expanded free storage space 190 (ie, free storage space 190 + the last storage space returned, ie, f + SP1) can accommodate the new user file. If the expanded free storage space 190 (ie, f + SP1) still cannot accommodate the new user file (shown as “N” in step 550), the storage allocator 144 allocates additional storage space to the free storage space 190. Step 550 is repeated iteratively (i.e., by finding and deleting the next discardable file to be deleted) (iteration is indicated by 555).

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 storage allocator 144 determines that the additional storage space (this additional storage space is The file DF2 is deleted in order to release and add to the free storage space 190 (hereinafter referred to as “SP2”). Thereafter, at step 550, the storage allocator 144 checks again whether the expanded free storage space 190 (ie, free storage space 190 + two last freed storage spaces, ie f + SP1 + SP2) can accommodate the new file. If the expanded free storage space 190 (ie, f + SP1 + SP2) still cannot accommodate the new file (shown as “N” in step 540), the storage allocator 144 is the next discardable to be deleted. Repeat step 540 once more to find the file. The storage allocator 144 repeats steps 540 and 550 until the accumulated free storage space 190 can accommodate the new user file (shown as “Y” in step 550). Thereafter, in step 560, the storage allocator 144 stores the new user file in the storage area 110.

前述したように、ストレージアロケータ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 storage allocator 144 stores the new user file in the free storage space 190, step 560 may include the desired storage usage safety margin. Including additional steps for the storage allocator 144 to determine which stored discardable file should be deleted first, which discardable file should be deleted second, etc. it can.

新しいファイルが発行者ファイルである場合
新しいファイルが発行者ファイルであるならば、ストレージアロケータ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 storage allocator 144 will only allow the free storage space 190 to accommodate the new issuer file without reducing the desired storage usage safety margin. The new issuer file is stored in the storage area 110 (at step 560). That is, if storing a new issuer file results in a reduction in the desired storage use safety margin, the storage allocator 144 can determine not to store the new issuer file in the storage area 110. In such a case, storage allocator 144 may refrain from taking action on the file and delete the file from storage to free up storage space for the new issuer file. Alternatively, the storage allocator 144 can delete at step 540 one or more higher priority discardable files to free up storage space for the discardable files having a lower discard priority. As previously mentioned, the method in which a file is marked in the file system of storage device 100, the discard level is embedded in the file system of storage device 100, the file is marked, and the discard level is embedded in the file system is Depends on the file system being used, or can be adapted to the file system used.

図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 step 610, the m most significant bits (where m ≦ 4) of the 32 bits of each cluster of FAT32 are used to mark the file as non-disposable or discardable depending on the situation, and each Assigned or dedicated to hold a discard level corresponding to a discardable file. Assigning a discard level to a file is done by setting the corresponding value to the assigned m bits corresponding to the marked file.

ステップ620で、ストレージアロケータ144は、記憶装置100のユーザがその非請求ファイルを使用する確度のレベルを評価する。そのファイルを使用する確度の評価は、委託ファイルの技術分野の当業者に知られている種々の方法で実行され得る。例えば、そのファイルを使用する確度の評価は、その記憶装置を使用する人の位置をモニタすること、および/またはモニタされるユーザの以前の経験および好みに基づくことができる。そのファイルを使用する確度の評価は、例えば、そのFATテーブルまたはNTFSテーブル内に格納されているコンテンツのタイプ(例えば、「広告コンテンツ」、「プレミアムコンテンツ」、「販売促進(無料)コンテンツ」など)に基づいてもよい。ストレージアロケータ144は、そのファイルが使用される確度を評価するために代わりのあるいは追加の基準を使用することができる。例えば、最後にアクセスされたファイル、ファイルのサイズ、ファイルのタイプなどであり得るか、あるいはそれらと関連付けられ得る、ファイルの属性または特徴を使用することができる。   At step 620, the storage allocator 144 evaluates the level of certainty that the user of the storage device 100 will use the unsolicited file. Evaluation of the accuracy of using the file can be performed in various ways known to those skilled in the art of commissioned files. For example, the assessment of accuracy using the file can be based on monitoring the location of the person using the storage device and / or the previous experience and preferences of the monitored user. For example, the type of content stored in the FAT table or NTFS table (for example, “advertising content”, “premium content”, “promotional (free) content”, etc.) May be based on The storage allocator 144 can use alternative or additional criteria to evaluate the likelihood that the file will be used. For example, file attributes or features can be used that can be, or can be associated with, the last accessed file, the size of the file, the type of file, and the like.

ユーザがその非請求ファイルを使用する確度のレベルをストレージアロケータ144が評価した後、ストレージアロケータ144は、ステップ630で、非請求ファイルの使用の評価された確度レベルに対応する廃棄優先レベルを割り当てる。その非請求ファイルが記憶装置100のユーザにより使用される確度が高ければ高いほど、廃棄レベルは低くなる。   After the storage allocator 144 evaluates the level of accuracy that the user will use the unsolicited file, the storage allocator 144 assigns a discard priority level that corresponds to the estimated accuracy level of unsolicited file use at step 630. The higher the probability that the unsolicited file will be used by the user of storage device 100, the lower the discard level.

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 level 0 is assigned to all non-discardable files, discard level 1 is assigned to the discardable file with the lowest discard priority, and discard level 15 is assigned to the discardable file with the highest discard priority. It is done. After the storage allocator 144 assigns a discard level corresponding to the unsolicited file, the storage allocator 144, in step 640, is between 1 and 15 in the four most significant bits of the cluster associated with the unsolicited file. Set the corresponding value of. If the unsolicited file is associated with more than one cluster, the four most significant bits of each cluster are set to the same value.

ステップ650で、その非請求ファイルは評価される必要のある最後のファイルであるか否かが調べられる。その非請求ファイルが評価される必要のある最後のファイルでなければ(ステップ650で「N」として示されている)、前に記載した方法で他のファイルが評価される。その非請求ファイルが評価される必要のある最後のファイルであるならば(ステップ650で「Y」として示されている)、その非請求ファイルは、その値がステップ640でセットされた各々のためのm個のビットと共に記憶装置に送られる。   In step 650, it is checked whether the unsolicited file is the last file that needs to be evaluated. If the unsolicited file is not the last file that needs to be evaluated (indicated as “N” in step 650), other files are evaluated in the manner described previously. If the unsolicited file is the last file that needs to be evaluated (indicated as “Y” in step 650), the unsolicited file is for each of its values set in step 640. Of m bits to the storage device.

図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. Directory area 700 contains file details stored in the associated file system, such as file name, file size, and where in the associated storage space each file begins. File details are contained in the following fields: Field 710 contains the disk operating system ("DOS") file name of the file stored in the associated file system, field 720 contains the file extension, and field 730 contains various attributes of the file. Field 740 contains the upper 16-bit word of the first cluster number ("FCN") of the file, field 750 contains the lower part of the first cluster number ("FCN") of the file, and field 760 Contains the size of the file. Each FCN number indicates the first logical cluster in which the file can be found.

ディレクトリ領域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 directory area 700 contains information about a representative file called “REALFILE” (shown at 770). REALFILE 770 has the file extension “DAT”, its FCN is “0000 0002” (shown at 755), and its size is “0000 24E4”. The numbers in the table 700 are shown as hexadecimal values. As part of the standard, the attribute values “00” (shown at 780) and “20” (not shown in FIG. 7) refer to the “regular” file, and the attribute value “02” A file that is hidden in the file system. The file name “\ xE5Config” indicates a deleted file, where “\ xE5” means that the value of the first byte of the file name is hexadecimal E5. By way of example, FCN number 0000 0002 (shown at 755) indicates the first cluster of the file REALFILE.

図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. Reference number 810 indicates the type of device containing the FAT32 table 800, where “F8” refers to the hard disk. The FAT32 table 800 is referred to as cluster # 1 (shown at 820), cluster # 2 (shown at 825)... Cluster # 23 (shown at 830). Includes 23 clusters. FIG. 8 is described in conjunction with FIG. The cluster in the FAT32 table 800 can be the first cluster of the file, can point to the next linked cluster of the file, or can be an end of file (“EOF”) indication. it can.

ディレクトリ領域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 directory area 700, the first FCN of the file REALFILE (shown at 770) is “0000 0002” (shown at 755), which is the table 800 of FIG. Cluster # 2. As shown in FIG. 8, the value of cluster # 2 (ie, the value “0000 0003”) refers to cluster # 3 (shown at 840), which is the cluster for the next file. . Similarly, the value of cluster # 3 (ie, “0000 0004”) refers to cluster # 4, which is the cluster for the next file. Cluster # 4 has the value “0FFF FFFF” (“F” is a hexadecimal digit representing the decimal value “15”), where “FFF FFFF” (shown at 850) Indicates an EOF indication of the file, and a zero value (shown at 860) indicates a discard level of zero. Thus, the file REALFILE is associated with three clusters (ie, cluster # 2, cluster # 3, and cluster # 4).

前に説明したように、廃棄レベル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 level 0 is assigned to non-discardable files. Note that the most significant hex digit of each cluster in a particular file is set to the same discard priority level assigned to that file. For example, the file REALFILE is assigned a discard level “0”, so each of the most significant hexadecimal digits of clusters # 2, # 3, and # 4 has its value (ie, the value “0”, these “ 0 ”values are underlined). In another example, the discard priority level “1” is assigned to the file “E5Config” whose FCN is “0000 0005” (as shown in FIG. 7). Thus, the most significant hexadecimal digit of each of clusters # 5-12 belonging to that file has the value “1” (eg, as shown at 870). In other words, as disclosed herein, the most significant hexadecimal digit of a cluster associated with a particular discardable file, or equivalently, the most significant 4 bits, is the discard priority level assigned to that particular file. Is set to the same value corresponding to. As previously described, the number m of the most significant bits used to indicate the discard priority level may be different from 4 (ie, m ≦ 4).

図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 data field 910 that contains “regular” data (eg, data 920) for files that change according to a “normal” data flow. In the disclosure herein, the NTFS table 900 also includes a “discard information” field 915 to contain discard information (eg, discard information 930) for each evaluated file. The discard information field 915 can also include information other than the discard priority level. For example, the discard information field 915 can include information regarding the server that supplied the file and the expiration date after which the file must be discarded. Unlike FAT-based file systems, NTFS-based file systems do not limit the discard value assigned to a discardable file to the maximum number defined by a set of bits. This means that the range of discard values can be chosen freely. For example, the discard value can range from 1 to 25. NTFS is a typical non-FAT file system. In general, the corresponding discard value can be set in a data field in a non-FAT based file system entry corresponding to the marked file.

図10は、一実施形態に従う記憶装置のファイルシステム1000の論理配置である。ストレージアロケータ(例えば、図1のストレージアロケータ144)は、自分と協同する記憶装置のファイルシステム1000またはファイルシステム1000のイメージを保持し得るか、あるいはストレージアロケータはファイルシステム1000へのアクセスを持ち得る。   FIG. 10 is a logical layout of the storage device file system 1000 according to one embodiment. A storage allocator (eg, storage allocator 144 of FIG. 1) may hold a storage device file system 1000 or an image of the file system 1000 that cooperates with it, or the storage allocator may have access to the file system 1000.

ファイルシステム1000は、ブートセクション1010と、ファイルシステム1000と関連付けられているFAT1020と、ディレクトリテーブル1030と、ファイル領域1040と、廃棄可能ファイル領域1050とを含む。FAT1020は、廃棄可能ファイルの廃棄優先レベルを包含する廃棄可能ファイル割り当て領域1025を含む。ディレクトリテーブル1030は、記憶装置に格納されている全てのファイル(すなわち、廃棄可能ファイルおよび/または非廃棄可能ファイル)にアクセスするためのアクセス情報を含む。ファイル領域1040は、非廃棄可能ファイルを包含する。インデックスおよびデータベース領域1045は、廃棄可能ファイルのためのインデックスと、さらに、廃棄可能ファイルに関連付けられているメタデータとを収容する。インデックスおよびデータベース領域1045に収容されているインデックスおよびメタデータは、廃棄レベルを計算するために使用されるけれども、実際の廃棄プロセス中には必要とされない。廃棄可能ファイル領域1050は、廃棄可能ファイルを収容する。   The file system 1000 includes a boot section 1010, a FAT 1020 associated with the file system 1000, a directory table 1030, a file area 1040, and a discardable file area 1050. The FAT 1020 includes a discardable file allocation area 1025 that includes the discard priority level of the discardable file. Directory table 1030 includes access information for accessing all files stored in the storage device (ie, discardable files and / or non-discardable files). The file area 1040 includes non-disposable files. The index and database area 1045 contains an index for a discardable file and further metadata associated with the discardable file. The index and metadata contained in the index and database area 1045 are used to calculate the discard level, but are not required during the actual discard process. The discardable file area 1050 contains a discardable file.

図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 storage area 110 at time T0. Since the files “F1” and “F2” are user files, they are stored in the user area 170 and the discard level assigned to them by the storage allocator 144 is zero. The total storage capacity of the storage area 110 is T (shown at 1110), and the files F1 and F2 are stored in the storage device 100, so the size of the remaining free storage space 190 (see FIG. 1) ) Is f (shown at 1120). Assume that the issuer wishes to store three unsolicited files in storage area 110. As previously described, storing the issuer's three unsolicited files in storage area 110 results in the desired storage usage safety margin reserved for future user files (shown at 1130). Storage allocator 144 evaluates the size of the free storage space 190 in the storage device 100 (ie, f at 1120). If storing the issuer's three unsolicited files reduces the storage usage safety margin 1130 (ie, the desired storage usage safety margin), the storage allocator 144 refrains from storing those files.

この例では、ストレージアロケータ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 storage allocator 144 determines that the three unsolicited files of the issuer can be stored in the storage area 110 without reducing the storage usage safety margin 1130. Accordingly, at time T1, the storage allocator 144 allows the storage controller 120 to store the three unsolicited files of the issuer in the storage area 110. The unissued files of the three issuers are referred to as “P1”, “P2”, and “P3”. The storage allocator 144 further determines the probability that the files P1, P2, and P3 are used by the user of the storage device 100 and assigns a corresponding discard level to each of those files. The storage allocator 144 then stores the discard level assigned to the file in the FAT table as shown in FIG. 8 or the NTFS table as shown in FIG.

時点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 storage device 100 wishes to store two more files (ie, files “F3” and “F4”) in storage area 110. The storage allocator 144 determines the size of the free storage space 190 in the storage device 100 (to determine whether there is sufficient storage space in the storage area 110 to store the additional files (ie, files F3 and F4). That is, f) at 1120 is evaluated again. In this example, the storage allocator 144 determines that the currently free storage space can accommodate the files F3 and F4. Accordingly, at time T2, the storage allocator 144 permits the storage controller 120 to store the files F3 and F4 in the storage area 110.

ファイル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 storage device 100 is not critical. Accordingly, the storage allocator 144 assigns the discard level “0” to the files F3 and F4, and assigns the assigned discard level to the FAT table as shown in FIG. 8 or NTFS as shown in FIG. Store in a table.

時点T3で、記憶装置100のユーザは、記憶領域110に他の1つのファイル(すなわち、ファイル「F5」)を格納することを望む。ストレージアロケータ144は、その追加のファイル(すなわち、ファイルF5)を格納するのに充分な記憶スペースが記憶領域110にあるかを判定するために記憶装置100内の空き記憶スペース190のサイズ(すなわち、1120のところのf)を再び評価する。   At time T3, the user of the storage device 100 desires to store another file (that is, the file “F5”) in the storage area 110. The storage allocator 144 determines the size of the free storage space 190 in the storage device 100 (ie, the storage space 110 to determine if there is sufficient storage space in the storage area 110 to store the additional file (ie, file F5)). Evaluate f) at 1120 again.

この例では、ストレージアロケータ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 storage allocator 144 determines that the currently free storage space can accommodate the file F5. Therefore, at time T3, the storage allocator 144 permits the storage controller 120 to store the file F5 in the storage area 110. As shown in FIG. 11, storing the user file F5 narrows the storage use safety margin. That is, the free storage space f in the storage area 110 remaining after the files F1 to F5 and P1 to P3 are stored in the storage area 110 is smaller than the storage use safety margin 1130. Accordingly, the storage allocator 144 restores or restores the storage usage safety margin by removing one of the issuer's files (ie, P1, P2, and P3). As previously described, since the user file has the highest storage priority, the storage usage safety margin can be revived or restored by removing (ie, deleting) one or more publisher files. .

前に記述したように、どの1つの発行者ファイルまたは複数の発行者ファイルが記憶領域110から除去されるべきかの決定は、ストレージアロケータ144が各々の格納されている廃棄可能ファイルに割り当てた廃棄優先レベルに基づいてストレージアロケータ144によって行われる。   As previously described, the determination of which issuer file or multiple issuer files should be removed from the storage area 110 is determined by the storage allocator 144 assigned to each stored disposable file. Performed by the storage allocator 144 based on the priority level.

再び図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 storage area 110 at the time T4, thereby increasing the free storage space 190. Since the size of the free storage space 190 at time T4 (ie, f at 1120) is larger than the storage usage safety margin 1130, it is not necessary to remove the issuer file any more.

記憶装置100のユーザは、1つ以上のユーザファイルを除去することを望むかもしれない。時点T5でユーザは自分のファイルのうちの2つ(すなわち、ファイルF4およびF5)を除去し、これにより空き記憶スペース190をさらに大きくした。ここで述べられたように、空き記憶スペースの再獲得あるいはストレージ使用安全マージンの回復は必要な数の廃棄可能ファイルを除去することによって行われるので、ファイルF4およびF5の除去は空き記憶スペース190のサイズまたはストレージ使用安全マージンとは無関係である。発行者が他の1つの非請求ファイルを記憶領域110に格納することを望むと想定される。前に記述したように、ストレージアロケータ144は、その発行者の非請求ファイルを記憶領域110に格納するとストレージ使用安全マージン1130が狭まらないかを判定するために空き記憶スペース190のサイズ(すなわち、1120のところのf)を評価する。その発行者の新しい非請求ファイルを格納するとストレージ使用安全マージン1130が狭まるのであれば、ストレージアロケータ144は、そのファイルを格納するのを差し控える。   A user of storage device 100 may wish to remove one or more user files. At time T5, the user removed two of his files (ie, files F4 and F5), thereby further freeing up storage space 190. As described herein, re-acquisition of free storage space or recovery of the storage usage safety margin is performed by removing the required number of discardable files, so removal of files F4 and F5 is performed on free storage space 190. It is independent of size or storage usage safety margin. It is assumed that the issuer wishes to store one other unsolicited file in storage area 110. As described previously, the storage allocator 144 stores the issuer's unsolicited file in the storage area 110 to determine if the storage usage safety margin 1130 is reduced, ie, the size of the free storage space 190 (ie, Evaluate f) at 1120. If storing the issuer's new unsolicited file reduces storage use safety margin 1130, storage allocator 144 refrains from storing the file.

この例では、ストレージアロケータ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 storage allocator 144 determines that the issuer's new unsolicited file (ie, file “P4”) can be stored in the storage area 110 without reducing the storage usage safety margin 1130. Accordingly, at time T6, the storage allocator 144 permits the storage controller 120 to store the issuer file P4 in the storage area 110. The storage allocator 144 also determines the probability that the file P4 will be used by the user of the storage device 100 and assigns a corresponding discard level to this file. The storage allocator 144 then stores the discard level assigned to the file P4 in the FAT table as shown in FIG. 8 or the NTFS table as shown in FIG. Each time a new file must be added to the storage area 110, the storage allocator 144 evaluates the current size of the free storage space 190 and which one or more issuer files (if any) are in the storage area 110. The process of storing the new issuer file and the new user file and removing the stored file may be continued while determining whether it should be removed from.

廃棄可能ファイルへの廃棄レベルの割り当ては、ユーザの経験または選択、ユーザの全地球測位システム(「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 file system 160. Furthermore, there is a risk that some FAT recovery utility will reset the discardable file flag in the FAT32 entry. FAT32 file system inspection and repair utilities often step through the file system and apply rules to correct common errors. In general, these utilities can look for cluster chains in the FAT that do not have a corresponding entry in the first cluster number (FCN) column in the directory table. The utility treats cluster assignments in the FAT that do not have any directory or file entries as unknown data fragments (also known as orphan clusters), and the utility either deletes these orphan clusters, or A corresponding file entry can be created in the directory table. The discardable file system described herein can use what would otherwise be considered an orphan cluster, so the utility mistakenly made a discardable file a non-discardable file. May change or completely remove a discardable file.

これらの問題を処理するために、或るインプリメンテーションでは、ストレージアロケータ144は廃棄可能ファイルをプライマリFAT内のクラスタチェーンと関連付けることができ、そのクラスタチェーンは廃棄可能ファイルの物理的位置を隠し、ストレージアロケータ144はファイルの物理的位置を廃棄可能FAT、データベース、あるいは1つ以上のロケーションファイルに格納する。通例、その廃棄可能FAT、データベース、あるいは1つ以上のロケーションファイルはプライマリFATには不可視であり、或るインプリメンテーションでは、ホストオペレーティングシステムがその廃棄可能FAT、データベース、あるいは1つ以上のロケーションファイルにアクセスすることを阻止する、その廃棄可能FAT、データベース、あるいは1つ以上のロケーションファイルと関連付けられた属性がイネーブルされ得る。   To address these issues, in some implementations, the storage allocator 144 can associate a discardable file with a cluster chain in the primary FAT, which hides the physical location of the discard file, Storage allocator 144 stores the physical location of the file in a discardable FAT, database, or one or more location files. Typically, the discardable FAT, database, or one or more location files are invisible to the primary FAT, and in some implementations, the host operating system can configure the discardable FAT, database, or one or more location files. An attribute associated with that discardable FAT, database, or one or more location files that prevents access to the file may be enabled.

前に記したように、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 storage allocator 144 can periodically perform operations such as those previously described with respect to FIG. 5 to maintain free space allocation in the storage device 110, and the space allocated to the discardable file. Can be recovered.

プライマリ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 file system 160 uses the primary FAT 1200 and the discardable FAT 1201 to store a file marked as a discardable file, the storage allocator 144 sets the cluster chain 1202 assigned to the discardable file as a file. Update the primary FAT 1200 as shown in FIG. 12a for association. In general, cluster chain 1202 may be the same size or larger than the discardable file associated with cluster chain 1202. In some implementations, the cluster chain 1202 masks the physical location of the discardable file in the primary FAT. Typically, as previously described with respect to FIGS. 7 and 8, each cluster in the cluster chain starting from entry 1204 is a cluster chain until a value such as 1FFF FFFF shown in entry 1206 indicates the end of cluster chain 1202. Refers to the next continuous cluster of 1202. However, in other implementations, each cluster in the cluster chain has a value such as 1FFF FFFF indicating that the cluster is an individually assigned cluster rather than pointing to the next consecutive cluster in the cluster chain. be able to.

図12bに示されているように、クラスタチェーン1202の第1のエントリ1204は、廃棄可能FAT1201内の対応するエントリ1208を指す。図7および8に関して前に記述したように、各ファイルについて、廃棄可能FAT1201の中のクラスタチェーン1202内の各クラスタは、エントリ1210において示されている1FFF FFFFなどの値がファイルのEOFを示すまでファイルの次の順のクラスタを指す。   As shown in FIG. 12 b, the first entry 1204 in the cluster chain 1202 points to the corresponding entry 1208 in the discardable FAT 1201. As previously described with respect to FIGS. 7 and 8, for each file, each cluster in the cluster chain 1202 in the discardable FAT 1201 until the value such as 1FFF FFFF shown in entry 1210 indicates the EOF of the file. Points to the next sequential cluster in the file.

1つのクラスタチェーン1202は2つ以上のファイルと関連付けられ得るということを理解すべきである。例えば、図12bに示されているように、クラスタチェーン1202は、第1のファイル1212のためのクラスタ#6(エレメント1208)からクラスタ#9(エレメント1210)までのクラスタの第1のセットを含み、第2のファイル1214のためのクラスタ#10からクラスタ#11までのクラスタの第2のセットを含む。   It should be understood that a cluster chain 1202 can be associated with more than one file. For example, as shown in FIG. 12b, the cluster chain 1202 includes a first set of clusters from cluster # 6 (element 1208) to cluster # 9 (element 1210) for the first file 1212. , Including a second set of clusters from cluster # 10 to cluster # 11 for the second file 1214.

さらに、プライマリ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 cluster chain 1202 from cluster # 6 to cluster # 11, and a second cluster chain from cluster # 20 to cluster # 22. 1216 can be included.

他のインプリメンテーションでは、プライマリ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 step 1310, the host 140 receives a request to store the file 142 in the storage device 100. In some implementations, the storage allocator 144 derives a request to store the file 142 in the storage device 100 based on one or more write requests associated with the file.

ステップ1320で、ストレージアロケータ144は、前に記述したように記憶装置100と関連付けられているファイルシステム構造においてファイルを「廃棄可能」または「非廃棄可能」とマーキングする。ステップ1320で、ファイルは、廃棄優先レベルがファイルに割り当てられるという意味でもマーキングされる。   At step 1320, storage allocator 144 marks the file as “disposable” or “non-disposable” in the file system structure associated with storage device 100 as previously described. At step 1320, the file is also marked in the sense that a discard priority level is assigned to the file.

ステップ1330で、ファイルが廃棄可能ファイルであるとき、ストレージアロケータ144は、ファイルに割り当てられるクラスタチェーンをファイルと関連付けるためにプライマリFATを更新する。ステップ1340で、ストレージアロケータ144は、記憶装置100におけるファイルの物理的位置を表すように廃棄可能FATを更新する。ステップ1350で、ストレージアロケータ144は、(ストレージコントローラ120との通信を通して)記憶装置100の記憶領域110を管理するか、あるいは記憶領域110に格納されているファイルをマーキングされているファイルに基づいて廃棄可能FATに従って管理する。記憶領域の管理は、図5に関連して前に記述したものと同様である。   In step 1330, when the file is a discardable file, the storage allocator 144 updates the primary FAT to associate the cluster chain assigned to the file with the file. At step 1340, the storage allocator 144 updates the discardable FAT to represent the physical location of the file in the storage device 100. In step 1350, the storage allocator 144 manages the storage area 110 of the storage device 100 (through communication with the storage controller 120) or discards the files stored in the storage area 110 based on the marked files. Manage according to possible FAT. Storage area management is similar to that previously described in connection with FIG.

図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 step 1410, the host 140 receives a request to store the file 142 in the storage device 100. At step 1420, the storage allocator 144 marks the file as “disposable” or “non-disposable” in the file system structure associated with the storage device 100 as previously described. At step 1420, the file is also marked in the sense that a discard priority level is assigned to the file.

ステップ1430で、ファイルが廃棄可能ファイルであるとき、ストレージアロケータ144は、ファイルに割り当てられるクラスタチェーンをファイルと関連付けるためにFATを更新する。ステップ1440で、ストレージアロケータ144は、記憶装置100におけるファイルの物理的位置を表すようにデータベースを更新する。ステップ1450で、ストレージアロケータ144は、(ストレージコントローラ120との通信を通して)記憶装置100の記憶領域110を管理するか、あるいは記憶領域110に格納されているファイルをFATおよびデータベースに基づいて管理する。   In step 1430, when the file is a discardable file, the storage allocator 144 updates the FAT to associate the cluster chain assigned to the file with the file. At step 1440, the storage allocator 144 updates the database to represent the physical location of the file in the storage device 100. In step 1450, the storage allocator 144 manages the storage area 110 of the storage device 100 (through communication with the storage controller 120) or manages the files stored in the storage area 110 based on the FAT and database.

図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 step 1510, the host 140 receives a request to store the file 142 in the storage device 100. At step 1520, storage allocator 144 marks the file as “disposable” or “non-disposable” in the file system structure associated with storage device 100 as previously described. At step 1520, the file is also marked in the sense that a discard priority level is assigned to the file.

ステップ1530で、ファイルが廃棄可能ファイルであるとき、ストレージアロケータ144は、ファイルに割り当てられるクラスタチェーンをファイルと関連付けるためにFATを更新する。ステップ1540で、ストレージアロケータ144は、記憶装置100におけるファイルの物理的位置を表すようにロケーションファイルを更新する。ステップ1550で、ストレージアロケータ144は、(ストレージコントローラ120との通信を通して)記憶装置100の記憶領域110を管理するか、あるいは記憶領域110に格納されているファイルをFATおよびロケーションファイルに基づいて管理する。   In step 1530, when the file is a discardable file, the storage allocator 144 updates the FAT to associate the cluster chain assigned to the file with the file. In step 1540, the storage allocator 144 updates the location file to represent the physical location of the file in the storage device 100. In step 1550, the storage allocator 144 manages the storage area 110 of the storage device 100 (through communication with the storage controller 120) or manages the files stored in the storage area 110 based on the FAT and location files. .

さらに他のインプリメンテーションでは、セキュリティを強化し、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 entry 1602 are not continuous. For example, the order of the cluster chain starting from the entry 1602 is cluster # 13, cluster # 9, cluster # 7, cluster # 18, and cluster # 21. In this FAT, as previously described with respect to FIGS. 7 and 8, the value of each cluster points to the next cluster in the cluster chain.

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 entry 1602. For example, the first range file 1604 stores cluster # 7 and cluster # 9 from the cluster chain starting from entry 1602, and the second range file 1606 is cluster # 13, cluster from the cluster chain starting from entry 1602 # 18 and cluster # 21 are stored.

レンジファイルは、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 entry 1602, the first range file 1604 may store cluster # 5 and cluster # 10 from the cluster chain starting at entry 1608. Similarly, in addition to the clusters listed above from the cluster chain starting from entry 1602, the second range file 1606 includes cluster # 16, cluster # 17, and cluster # 22 from the cluster chain starting from entry 1608. Can be remembered.

図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 step 1810, the host 140 receives a request to store the file 142 in the storage device 100. At step 1820, storage allocator 144 marks the file as “disposable” or “non-disposable” in the file system structure associated with storage device 100 as previously described. At step 1820, the file is also marked in the sense that a discard priority level is assigned to the file.

ステップ1830で、ファイルが廃棄可能ファイルであるとき、ストレージアロケータ144は、ファイルに割り当てられているクラスタチェーンをファイルと関連付けるためにFATを更新する。ステップ1840で、ファイルと関連付けられているクラスタチェーンの2つ以上のクラスタの順序は、記憶装置100内のメモリの量、クラスタチェーンの総サイズ、クラスタチェーンの2つの連続するクラスタの間のクラスタの数、ならびに/または消去ブロックサイズ、割り当てられたブロック内の各論理アドレスの物理的ブロックアドレス、および/または物理的ブロックアドレスと関連付けられている各ページのためのウェアレベリングデータを考慮できるフラッシュメモリ管理アルゴリズムなどの要素に基づいてFATの中でスクランブルされる。或るインプリメンテーションでは、クラスタチェーンの2つ以上のクラスタの順序は、擬似乱数発生器またはエントロピック乱数発生器を用いてスクランブルされ、前もって割り当てられていない各クラスタについて1つの範囲内のオフセットを提供する。他のインプリメンテーションでは、クラスタチェーンの2つ以上のクラスタの順序は、ホストシステム140および/または記憶装置100からの非決定論的な値を考慮に入れる単方向ハッシュ関数を用いてスクランブルされる。   In step 1830, when the file is a discardable file, the storage allocator 144 updates the FAT to associate the cluster chain assigned to the file with the file. At step 1840, the order of two or more clusters in the cluster chain associated with the file is determined by determining the amount of memory in the storage device 100, the total size of the cluster chain, and the cluster between two consecutive clusters in the cluster chain. Flash memory management that can take into account the number and / or erase block size, the physical block address of each logical address within the allocated block, and / or wear leveling data for each page associated with the physical block address It is scrambled in the FAT based on factors such as an algorithm. In some implementations, the order of two or more clusters in the cluster chain is scrambled using a pseudo-random number generator or an entropic random number generator, with an offset within one range for each unassigned cluster. provide. In other implementations, the order of two or more clusters in the cluster chain is scrambled using a one-way hash function that takes into account non-deterministic values from host system 140 and / or storage device 100.

ステップ1850で、第1のファイルと関連付けられているクラスタチェーンの少なくとも1つのクラスタを含む第1のレンジファイルがFATにおいて作成される。ステップ1860で、ストレージアロケータ144は、(ストレージコントローラ120との通信を通して)記憶装置100の記憶領域110を管理するか、あるいはFATおよびレンジファイルに基づいて記憶領域110に格納されているファイルを管理する。   At step 1850, a first range file is created in the FAT that includes at least one cluster in the cluster chain associated with the first file. In step 1860, the storage allocator 144 manages the storage area 110 of the storage device 100 (through communication with the storage controller 120) or manages the files stored in the storage area 110 based on the FAT and range files. .

さらに他のインプリメンテーションでは、廃棄可能ファイルがオープンである間にその廃棄可能ファイルが非廃棄可能ファイルに変換されないことを保証するために変換ロックを実行することができる。例えば、廃棄可能ファイルが記憶装置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 storage device 100 during the period when the discardable file is being downloaded to the storage device 100 or before the release date associated with a movie, song, or program associated with the discardable file. During the period before data associated with the discardable file is released to the public, such as when downloaded, the discardable file may be open. In general, the conversion lock serves to prevent a discardable file from being converted to a non-discardable file when the conversion lock is set.

図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 step 1910, the storage allocator 144 receives a request to convert a discardable file to a non-discardable file. At step 1920, storage allocator 144 identifies the value of the translation lock identifier associated with the discardable file. At step 1930, the storage allocator 144 determines whether the discardable file can be converted to a non-discardable file based on the value of the conversion lock identifier. Typically, the storage allocator 144 determines that a discardable file cannot be converted when the value of the conversion lock identifier indicates that the discardable file is open, and the storage allocator 144 discards the value of the conversion lock identifier. It is determined that the discardable file can be converted when the possible file indicates that it is not open.

ステップ1930で廃棄可能ファイルが非廃棄可能ファイルに変換され得ないとストレージアロケータ144が判定すれば、ストレージアロケータ144はステップ1940で廃棄可能ファイルを非廃棄可能ファイルとマーキングすることを禁じる。しかし、廃棄可能ファイルが非廃棄可能ファイルに変換され得るとストレージアロケータ144がステップ1930で判定すれば、ストレージアロケータ144は先へ進み、ステップ1950で、ファイルを、記憶装置100と関連付けられているファイルシステム構造において非廃棄可能ファイルとマーキングし、ステップ1960でファイルの物理的位置を表すようにプライマリFATを更新し、ステップ1970でファイルの物理的位置を除去するために廃棄可能FATを更新する。   If the storage allocator 144 determines that the discardable file cannot be converted to a non-disposable file at step 1930, the storage allocator 144 prohibits marking the discardable file as a non-disposable file at step 1940. However, if the storage allocator 144 determines in step 1930 that the discardable file can be converted to a non-discardable file, the storage allocator 144 proceeds and in step 1950, the file is associated with the storage device 100. Mark the file as non-disposable in the system structure, update the primary FAT to represent the physical location of the file at step 1960, and update the discardable FAT to remove the physical location of the file at step 1970.

前に記述した廃棄可能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 file system 160 defines what additional user IDs associated with other users or applications can access the discardable file and what actions the additional user ID can take on the discardable file. Provides capability to the owner user ID. Depending on the usage of the discardable file, the additional user ID can be associated with a single application or a single user, or the additional user ID can be a shared user ID associated with multiple applications or multiple users. It should be understood that there can be.

或るインプリメンテーションでは、オーナーユーザ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 permission bit 2004 is set enables or disables the conversion lock, sets a time stamp or consumes intention universal resource indicator (“URI”). ) Can be changed, and an application having the property read permission bit 2002 set can read attributes such as a conversion lock, a time stamp, or a consumption intention URI. An application in which the priority permission bit 2006 is set can change the priority level of the discardable file. An application for which the preview read permission bit 2008 is set can read preview data associated with the discardable file, and an application for which the preview write permission bit 2010 is set is associated with the discardable file. Preview data can be written. An application with the read permission bit 2012 set can read the discardable file, and an application with the write permission bit 2014 set can write to the discardable file. Typically, only the application associated with the owner user ID associated with the discardable file has these permissions. An application in which the conversion permission bit 2016 is set can convert a discardable file into a non-discardable file.

ファイルをマーキングし、関連付けられているファイルシステムにおいてそれらに廃棄レベルを割り当てる、本願明細書に開示されている方法は、多くの有益な用途を持つことができ、そのうちの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 large file manager 2102, which handles files larger than 4GB in size. The large file manager is described in more detail below.

大きな廃棄可能ファイル
廃棄可能ファイルを包含するファイルシステムは、図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に統合され得る。これらのフィールドがここに記述される。

Figure 0005715964
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.
Figure 0005715964

ラージファイルマネージャ
ラージファイルマネージャ(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 step 2402. The convert () function permits the conversion process via a charging mechanism (as described in the smart caching application) at step 2404. If the conversion is not allowed at step 2406, a security exception results at step 2407. If the conversion is allowed in step 2406, the next step is to lock the file system in step 2408 so that other processes and device drivers do not modify it during the conversion process, and after the process is finished, Consider refresh. Thereafter, in steps 2410 and 2412, a cluster chain for the file to be converted is allocated in the FAT1 and FAT2 tables of the volume to detach the chain from the existing placeholder file located for dosfsck protection purposes, and if necessary Reorder the cluster chain. If the total length of the file is less than 4 GB in step 2414, a directory entry is created for the file in steps 2416, 2418, 2420, and 2422, the file system is unlocked and refreshed in step 2424, and convert () The flow ends in step 2426.

ファイルの全長が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 process 2500 for managing files longer than 4 GB begins at step 2502 with a return request by the application. In step 2504, the file header is read, and in step 2506, it is determined whether the file is of a known type. If the file is not of a known type, the process proceeds to step 2508 where the file is spanned into a number of files using a general method, and in step 2510, the spanned files are The conversion process continues.

ステップ2506でファイルが既知のタイプのものであれば、スパンして多数のファイルにすることをファイルタイプがサポートするかがステップ2512で判定される。スパンして多数のファイルとすることをファイルタイプがサポートするならば、ステップ2510に進む前にステップ2514でファイルタイプに特有の方法を用いてファイルはスパンされて多数のファイルにされる。しかし、スパンして多数のファイルとすることをファイルタイプがサポートしなければ、ステップ2510に進む前にステップ2508で一般的方法を用いてファイルはスパンされて多数のファイルとされる。   If the file is of a known type at step 2506, it is determined at step 2512 whether the file type supports spanning into multiple files. If the file type supports spanning multiple files, the file is spanned into multiple files using a method specific to the file type in step 2514 before proceeding to step 2510. However, if the file type does not support spanning multiple files, the file is spanned into multiple files using the general method at step 2508 before proceeding to step 2510.

ファイルタイプに特有の方法の例として、図26は、高精細度ビデオストリームでよく使われるオープンソースのマトロスカ(mkv)コンテナファイルフォーマットの略図を描いている。マトロスカファイルは、通例、1つのセグメントが続くファイルヘッダ(拡張可能なバイナリのメタ言語(EBML(Extensible Binary Meta-Language) ヘッダ)から成り、タグで終了する。これらのファイルは4GBより長いことがあるけれども、そのような大きなファイルはFAT32ファイルシステムでは有効に表現され得ない。これらのファイルを分割するには、セグメント自体が多数のファイルに分割され、その各々はそれ自身のEBMLヘッダおよびセグメントヘッダを有する。次のように、セグメントヘッダの中には、分割されているファイル同士をリンクするのに役立つフィールドがある。

Figure 0005715964
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:
Figure 0005715964

マトロスカファイルを分割するプロセスは、各々の分割セグメントのために新しい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 step 2802, a request to store the file in a storage area of the 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. At step 2804, the file is marked as a “disposable file”. In some implementations, the file system structure of the data structure is marked to indicate that the file is a discardable file. In other implementations, the file itself is marked to indicate that the file is a discardable file.

ステップ2806で、或るインプリメンテーションではストレージアロケータの一部であり得るダウンロードマネージャは、廃棄可能ファイルを記憶装置の記憶領域に格納するために、要求と関連付けられているダウンロード条件を判定する。例えば、ダウンロードマネージャは、廃棄可能ファイルを記憶装置にダウンロードするために利用され得るネットワークのタイプ、廃棄可能ファイルを記憶装置にダウンロードするときに記憶装置が利用し得る電力条件、廃棄可能ファイルを記憶装置の記憶領域に格納する要求と関連付けられている時刻を判定することができ、かつ/または記憶装置で利用し得る記憶スペースの量を判定することができる。   At step 2806, the download manager, which in some implementations may be part of the storage allocator, determines the download conditions associated with the request to store the discardable file in the storage area of the storage device. For example, the download manager can store the type of network that can be used to download the discardable file to the storage device, the power condition that the storage device can use when downloading the discardable file to the storage device, and the storage device The time associated with the request to store in the storage area can be determined and / or the amount of storage space available on the storage device can be determined.

ステップ2808で、ダウンロードマネージャは、判定されたダウンロード条件に基づいて廃棄可能ファイルの記憶装置へのダウンロードを遅延させるか否かを決定し、ステップ2810で、ダウンロードマネージャは、記憶装置への廃棄可能ファイルのダウンロードを遅延させるか否かの決定に基づいて記憶装置への廃棄可能ファイルのダウンロードを管理する。ステップ2810で、ダウンロードマネージャは、ダウンロード条件と関連付けられているパラメータが満たされるまで、記憶装置への廃棄可能ファイルのダウンロードを遅延させることができる。例えば、ダウンロードマネージャは、廃棄可能ファイルを記憶装置にダウンロードするためにWiFiネットワークおよび/またはセルラーネットワークが利用可能になるまで廃棄可能ファイルのダウンロードを遅延させることができ、ダウンロードマネージャは、記憶装置が電源と結合されるかあるいは記憶装置と関連付けられているバッテリの電力レベルが所定のレベルより高くなるまで廃棄可能ファイルのダウンロードを遅延させることができ、かつ/またはダウンロードマネージャは、廃棄可能ファイルを記憶装置の記憶領域に格納する前の記憶装置内の利用可能なストレージの量が所定のレベルより高くなるまで廃棄可能ファイルのダウンロードを遅延させることができる。   In step 2808, the download manager determines whether to delay the download of the discardable file to the storage device based on the determined download condition, and in step 2810, the download manager determines the discardable file to the storage device. Managing the download of the discardable file to the storage device based on the determination of whether to delay the download of the file. At step 2810, 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. For example, the download manager can delay the download of the discardable file until the WiFi network and / or cellular network is available to download the discardable file to the storage device, and the download manager can power the storage device And / or the download manager may delay the discardable file until the power level of the battery associated with or associated with the storage device is above a predetermined level, and / or the download manager may store the discardable file in the storage device The download of the discardable file can be delayed until the amount of storage available in the storage device before storing in the storage area becomes higher than a predetermined level.

ステップ2812で、ダウンロードマネージャを含み得るストレージアロケータは、前に記述したように、ファイルが廃棄可能ファイルであるとするマーキングに基づいて、ダウンロードされた廃棄可能ファイルの記憶装置の記憶領域における記憶を管理する。   At step 2812, the storage allocator, which may include a download manager, manages storage in the storage area of the storage of the downloaded discardable file based on the marking that the file is a discardable file, as previously described. To do.

或るインプリメンテーションでは、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.
請求項1記載の方法において、
前記廃棄可能ファイルのダウンロードを管理することは、前記ダウンロード条件と関連付けられているパラメータが満たされるまで前記記憶装置への前記廃棄可能ファイルのダウンロードを遅延させることを含む方法。
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.
請求項1記載の方法において、
前記廃棄可能ファイルを前記記憶装置に格納する要求と関連付けられているダウンロード条件を判定することは、前記廃棄可能ファイルを前記記憶装置にダウンロードするために利用され得るネットワークのタイプを判定することを含む方法。
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.
請求項3記載の方法において、
前記廃棄可能ファイルを前記記憶装置にダウンロードするために利用され得るネットワークのタイプを判定することは、前記廃棄可能ファイルを前記記憶装置にダウンロードするためにワイヤレスフィデリティ(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.
請求項3記載の方法において、
前記廃棄可能ファイルを前記記憶装置にダウンロードするために利用され得るネットワークのタイプを判定することは、前記廃棄可能ファイルを前記記憶装置にダウンロードするためにセルラーネットワークが利用され得るか否かを判定することを含む方法。
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.
請求項1記載の方法において、
前記廃棄可能ファイルを前記記憶装置に格納する要求と関連付けられているダウンロード条件を判定することは、前記廃棄可能ファイルを前記記憶装置にダウンロードするときに前記記憶装置が利用し得る電力条件を判定することを含む方法。
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.
請求項6記載の方法において、
前記廃棄可能ファイルを前記記憶装置にダウンロードするときに前記記憶装置が利用し得る電力条件を判定することは、前記記憶装置が電源と結合されていると判定することを含む方法。
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.
請求項6記載の方法において、
前記廃棄可能ファイルを前記記憶装置にダウンロードするときに前記記憶装置が利用し得る電力条件を判定することは、前記記憶装置と関連付けられているバッテリが充電中であると判定することを含む方法。
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.
請求項6記載の方法において、
前記廃棄可能ファイルを前記記憶装置にダウンロードするときに前記記憶装置が利用し得る電力条件を判定することは、前記記憶装置と関連付けられているバッテリの電力レベルが所定のレベルより高いと判定することを含む方法。
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.
請求項1記載の方法において、
前記廃棄可能ファイルを前記記憶装置に格納する要求と関連付けられているダウンロード条件を判定することは、前記廃棄可能ファイルを前記記憶装置に格納する要求と関連付けられている時刻を判定することを含む方法。
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. .
請求項1記載の方法において、
前記廃棄可能ファイルを前記記憶装置に格納する要求と関連付けられているダウンロード条件を判定することは、前記廃棄可能ファイルを前記記憶装置に格納する前の前記記憶装置内の利用可能なストレージの量が所定のレベルより高いと判定することを含む方法。
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.
請求項1記載の方法において、
前記ファイルを廃棄可能ファイルとマーキングするステップは、前記ファイルが廃棄可能ファイルであることを示すように前記ファイル自体をマーキングすることをさらに含む方法。
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.
請求項1記載の方法において、
前記ファイルを廃棄可能ファイルとマーキングするステップは、廃棄優先レベルを前記ファイルに割り当てることをさらに含む方法。
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.
請求項1記載の方法において、
前記プライマリ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 .
請求項1記載の方法において、
前記ファイルが廃棄可能ファイルであるとするマーキングに基づいて、前記記憶装置におけるダウンロードされた廃棄可能ファイルの記憶を管理するステップをさらに含む方法。
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.
請求項16記載の記憶システムにおいて、
前記廃棄可能ファイルのダウンロードを管理するために、前記プロセッサは、前記ダウンロード条件と関連付けられているパラメータが満たされるまで前記記憶システムへの前記廃棄可能ファイルのダウンロードを遅延させるようにさらに構成される記憶システム。
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.
請求項16記載の記憶システムにおいて、
前記廃棄可能ファイルを前記記憶システムに格納する要求と関連付けられているダウンロード条件を判定するために、前記プロセッサは、前記廃棄可能ファイルを前記記憶システムにダウンロードするために利用され得るネットワークのタイプを判定するようにさらに構成される記憶システム。
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.
請求項18記載の記憶システムにおいて、
前記廃棄可能ファイルを前記記憶システムにダウンロードするために利用され得るネットワークのタイプを判定するために、前記プロセッサは、前記廃棄可能ファイルを前記記憶システムにダウンロードするためにワイヤレスフィデリティ(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.
請求項18記載の記憶システムにおいて、
前記廃棄可能ファイルを前記記憶システムにダウンロードするために利用され得るネットワークのタイプを判定するために、前記プロセッサは、前記廃棄可能ファイルを前記記憶システムにダウンロードするためにセルラーネットワークが利用され得るか否かを判定するようにさらに構成される記憶システム。
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.
請求項16記載の記憶システムにおいて、
前記廃棄可能ファイルを前記記憶システムに格納する要求と関連付けられているダウンロード条件を判定するために、前記プロセッサは、前記廃棄可能ファイルを前記記憶システムにダウンロードするときに前記記憶システムが利用し得る電力条件を判定するようにさらに構成される記憶システム。
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.
請求項21記載の記憶システムにおいて、
前記廃棄可能ファイルを前記記憶システムにダウンロードするときに前記記憶システムが利用し得る電力条件を判定するために、前記プロセッサは、前記記憶システムが電源と結合されていると判定するようにさらに構成される記憶システム。
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.
請求項21記載の記憶システムにおいて、
前記廃棄可能ファイルを前記記憶システムにダウンロードするときに前記記憶システムが利用し得る電力条件を判定するために、前記プロセッサは、前記記憶システムと関連付けられているバッテリが充電中であると判定するようにさらに構成される記憶システム。
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.
請求項21記載の記憶システムにおいて、
前記廃棄可能ファイルを前記記憶システムにダウンロードするときに前記記憶システムが利用し得る電力条件を判定するために、前記プロセッサは、前記記憶システムと関連付けられているバッテリの電力レベルが所定のレベルより高いと判定するようにさらに構成される記憶システム。
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.
請求項16記載の記憶システムにおいて、
前記廃棄可能ファイルを前記記憶システムに格納する要求と関連付けられているダウンロード条件を判定するために、前記プロセッサは、前記廃棄可能ファイルを前記記憶システムに格納する要求と関連付けられている時刻を判定するようにさらに構成される記憶システム。
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.
請求項16記載の記憶システムにおいて、
前記廃棄可能ファイルを前記記憶システムに格納する要求と関連付けられているダウンロード条件を判定するために、前記プロセッサは、前記廃棄可能ファイルを前記記憶システムに格納する前の前記記憶システム内の利用可能なストレージの量が所定のレベルより高いと判定するようにさらに構成される記憶システム。
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.
請求項16記載の記憶システムにおいて、
前記ファイルを廃棄可能ファイルとマーキングするために、前記プロセッサは、前記ファイルが廃棄可能ファイルであることを示すように前記ファイル自体をマーキングするようにさらに構成される記憶システム。
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.
請求項16記載の記憶システムにおいて、
前記ファイルを廃棄可能ファイルとマーキングするために、前記プロセッサは、廃棄優先レベルを前記ファイルに割り当てるようにさらに構成される記憶システム。
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.
請求項16記載の記憶システムにおいて、
前記プライマリ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 .
請求項16記載の記憶システムにおいて、
前記プロセッサは、前記ファイルが廃棄可能ファイルであるとするマーキングに基づいて、前記不揮発性メモリにおけるダウンロードされた廃棄可能ファイルの記憶を管理するようにさらに構成される記憶システム。
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.
JP2011554108A 2009-03-10 2010-03-09 Managing downloadable files Expired - Fee Related JP5715964B2 (en)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US15903409P 2009-03-10 2009-03-10
US61/159,034 2009-03-10
US25941809P 2009-11-09 2009-11-09
US61/259,418 2009-11-09
PCT/US2010/026596 WO2010104814A1 (en) 2009-03-10 2010-03-09 Download management of discardable files

Publications (2)

Publication Number Publication Date
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)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9104686B2 (en) 2008-12-16 2015-08-11 Sandisk Technologies Inc. System and method for host management of discardable objects
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)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4022971B2 (en) * 1998-02-16 2007-12-19 ソニー株式会社 Storage device and data deletion method
US6173316B1 (en) * 1998-04-08 2001-01-09 Geoworks Corporation Wireless communication device with markup language based man-machine interface
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

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