[go: up one dir, main page]

KR20110127636A - How to manage downloads of discardable files - Google Patents

How to manage downloads of discardable files Download PDF

Info

Publication number
KR20110127636A
KR20110127636A KR1020117013712A KR20117013712A KR20110127636A KR 20110127636 A KR20110127636 A KR 20110127636A KR 1020117013712 A KR1020117013712 A KR 1020117013712A KR 20117013712 A KR20117013712 A KR 20117013712A KR 20110127636 A KR20110127636 A KR 20110127636A
Authority
KR
South Korea
Prior art keywords
file
storage device
storage
discardable
files
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.)
Withdrawn
Application number
KR1020117013712A
Other languages
Korean (ko)
Inventor
주다 가믈리엘 한
다비드 코렌
Original Assignee
샌디스크 아이엘 엘티디
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 샌디스크 아이엘 엘티디 filed Critical 샌디스크 아이엘 엘티디
Publication of KR20110127636A publication Critical patent/KR20110127636A/en
Withdrawn legal-status Critical Current

Links

Images

Classifications

    • 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
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • 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)

Abstract

저장 장치의 저장 영역에 파일을 저장하라는 요청이 수신되며, 파일은 폐기 가능한 것으로, 저장 장치와 연관된 데이터 구조 내 데이터와 상기 파일을 연관시킨다. 파일은 폐기 가능 파일로 표시된다. 일부 구현에서, 데이터 구조의 파일 시스템 구조는 파일이 폐기 가능 파일을 나타내도록 표시되며, 다른 구현에서, 파일 자체는 파일이 폐기 가능 파일임을 나타내도록 표시된다. 다운로드 관리자는 저장 장치의 저장 영역에 폐기 가능 파일을 저장하라는 요청 에 연관된 다운로드 상태를 판정하며, 판정된 다운로드 상태에 기초하여 저장 장치에 폐기 가능 파일의 다운로드를 지연시킬지 여부를 판정한다. 다운로드 관리자는 저장 장치에 폐기 가능 파일의 다운로드를 지연시킬지 여부의 판정에 기초하여 저장 장치에 폐기 가능 파일의 다운로드를 관리한다.A request is received to store a file in a storage area of a storage device, the file being discardable, associating the file with data in a data structure associated with the storage device. The file is marked as discardable. In some implementations, the file system structure of the data structure is indicated so that the file represents a discardable file, and in other implementations, the file itself is indicated to indicate that the file is a discardable file. The download manager determines a download state associated with the request to store the discardable file in the storage area of the storage device, and determines whether to delay the download of the discardable file to the storage device based on the determined download state. The download manager manages the download of the discardable file on the storage device based on the determination of whether to delay the download of the discardable file on the storage device.

Description

폐기 가능 파일의 다운로드 관리 방법{DOWNLOAD MANAGEMENT OF DISCARDABLE FILES}How to manage downloads for discardable files {DOWNLOAD MANAGEMENT OF DISCARDABLE FILES}

우선권 주장Priority claim

본 출원은, 2009년 3월 10일에 출원된 미국 가특허 출원 번호 61/159,034(계류중)와, 2009년 11월 9일에 출원된 미국 가특허 출원 번호 61/259,418(계류중) 모두의 이익을 청구하고, 상기 각각의 전체 기재 내용은 참조로 본 명세서에 포함된다.This application is directed to both U.S. Provisional Patent Application No. 61 / 159,034 filed on March 10, 2009 and U.S. Provisional Patent Application No. 61 / 259,418, filed on November 9, 2009. Claimed benefit, the entire contents of each of which are incorporated herein by reference.

본 발명은 일반적으로 저장 장치(storage device)에 관한 것이고, 보다 구체적으로는 저장 장치에서 파일을 관리하기 위한 방법과 장치에 관한 것이다.The present invention relates generally to storage devices, and more particularly to methods and apparatus for managing files in storage devices.

비휘발성 저장 장치는 휴대할 수 있고 물리적으로 소형의 크기와 큰 저장 용량을 갖고 있어 이들의 사용이 수년 동안 급속히 증가해오고 있다. 저장 장치는 다양한 디자인으로 나오고 있다. 일부 저장 장치는 "내장형"으로서 간주되는데, 이는 이들이 동작하는 호스트 장치로부터 사용자에 의해 제거될 수 없고 제거되지 않게 한 것임을 의미한다. 기타 다른 저장 장치는 착탈 가능한데, 이것은 사용자가 하나의 호스트 장치에서(예를 들어, 디지털 카메라에서) 다른 장치로 옮기거나 하나의 저장 장치를 다른 저장 장치로 교체할 수 있음을 의미한다.Non-volatile storage devices are portable and physically small in size and large in storage capacity, and their use has been increasing rapidly for many years. Storage devices come in a variety of designs. Some storage devices are considered "embedded", meaning that they cannot and cannot be removed by a user from the host device on which they operate. Other storage devices are removable, meaning that a user can move from one host device (eg, a digital camera) to another, or replace one storage device with another.

저장 장치에 저장된 디지털 콘텐트는 저장 장치의 호스트로부터 기원할 수 있다. 예를 들어, 디지털 카메라, 호스트, 이미지를 캡처하고 이를 대응하는 디지털 데이터로 전환한다. 이어서 디지털 카메라는 이와 동작하는 저장 장치에 디지털 데이터를 저장한다. 저장 장치에 저장되는 디지털 콘텐트는 원격 소스로부터 기원할 수도 있는데, 이것은 예를 들어, 데이터 네트워크(예를 들어, 인터넷) 또는 통신 네트워크(예를 들어, 셀룰라 전화 네트워크)를 통해 저장 장치의 호스트에 보내질 수 있고, 이어서 호스트에 의해 저장 장치에 다운로드될 수 있다. 원격 소스는 예를 들어, 서비스 제공자 또는 콘텐트 제공자일 수 있다. 서비스 제공자들 및 콘텐트 제공자는 일괄하여 이하 "발행자"라 지칭된다.Digital content stored on a storage device may originate from a host of the storage device. For example, it captures a digital camera, host, and image and converts it to the corresponding digital data. The digital camera then stores the digital data in a storage device that operates with it. Digital content stored on a storage device may originate from a remote source, which may be sent to a host of the storage device, for example, via a data network (eg, the Internet) or a communication network (eg, a cellular telephone network). And may then be downloaded to the storage device by the host. The remote source can be, for example, a service provider or a content provider. Service providers and content providers are collectively referred to as "publishers" below.

모바일 핸드셋 내에 저장 장치가 크기 및 능력이 증가함에 따라, 지속적으로 콘텐트 획득 및 소비에 대한 새로운 시나리오가 있을 수 있게 된다. 전형적으로, 핸드셋은 운영자에 의해 제어되는 서버, Apple의 iTunes 서비스와 같은 마켓 애플리케이션로부터 다운로드되고, SanDisk의 슬롯미디어 카드와 같은 소스로부터 사이드-로딩된 영화와 음악을 소비하기 위해 사용될 수 있다. 그러나, 이들 모든 애플리케이션에서, 사용자는 자신이 소비하기를 원하는 콘텐트를 미리 앞서 탐색하고 콘텐트의 획득을 지정하여 재가하고 콘텐트를 획득하고 이어 이를 소비해야 한다. 이것은 콘텐트 소유자가 즉석에서 소비를 위해 콘텐트를 제공할 수 있는 능력, 및 다운로드하기 위해 기다리지 않고 얻고 있는 것을 사용자가 즉각 볼 수 있게 하는 능력을 감소시킨다.As storage devices within mobile handsets increase in size and capacity, there may be new scenarios for content acquisition and consumption on an ongoing basis. Typically, the handset is downloaded from a server controlled by the operator, a market application such as Apple's iTunes service, and can be used to consume side-loaded movies and music from sources such as SanDisk's slot media cards. However, in all these applications, the user must pre-search ahead for the content he wants to consume, authorize the acquisition of the content to authorize, acquire the content and then consume it. This reduces the ability of the content owner to provide content for consumption on the fly and the ability for the user to immediately see what they are getting without waiting for download.

다수의 시제품은 사용자에게 콘텐트를 사전에 로딩하는 것을 마련하였으나 이들은 모두가 한 가지 공통되는 결점이 있다. 즉 사용자는 콘텐트를 저장하기 위해서 자신의 저장 용량을 희생해야 하지만, 이를 구입 후까지는 이 콘텐트에 액세스할 수 없다. 이 용량을 구입해야 하는 사용자는 일반적으로 이들이 실제로 사용할 수 없는 콘텐트에 할당된 이의 대부분을 보기를 원하지 않는다.Many prototypes have preloaded content to the user, but they all have one common drawback. In other words, the user must sacrifice his storage capacity to store the content, but cannot access the content until it is purchased. Users who have to purchase this capacity generally do not want to see most of them assigned to content that is not actually available to them.

저장 장치의 사용자는 발행자들로부터 미디어 콘텐트 또는 광고를 요청함으로써 미디어 콘텐트 및 광고들을 자진해서 다운로드할 수 있다. 그러나, 종종, 자신들의 소득을 늘리기 위한 발행자는 사용자에게 이들의 허락을 구하지 않고, 그리고 종종 콘텐트가 사용자의 저장 장치에 다운로드되었음을 사용자가 알지 못하게 이러한 콘텐트를 보낸다. 발행자가 사용자의 동의를 얻지도 않고 이들에게 보내는 콘텐트를 본 명세서에서는 "요구하지 않은 콘텐트(unsolicited content)"라 칭한다. 흔히, 요구하지 않은 콘텐트는 발행자에게 요금을 지불한 후에, 또는 지급한 후에, 사용자에 의해 소비되게 의도된 것이다.A user of a storage device can voluntarily download media content and advertisements by requesting media content or advertisements from publishers. Oftentimes, however, publishers to increase their income do not ask the user for their permission, and often send this content without the user knowing that the content has been downloaded to the user's storage device. The content that the publisher sends to them without obtaining the user's consent is referred to herein as " unsolicited content. &Quot; Often, unsolicited content is intended to be consumed by a user after or after paying a publisher.

사용자의 저장 장치에 요구하지 않은 콘텐트를 다운로드함으로써, 발행자는 사용자가 결국 요금을 내고 요구하지 않은 콘텐트를 소비하여, 이들의 소득을 늘리기 원한다. 발행자가 사용자가 이들 콘텐트를 요금을 내고 소비할 것을 원하면서 사용자의 동의를 구하지 않고 저장 장치에 요구하지 않은 콘텐트를 저장하는 관행은 미디어 발행 필드에서는 "예측 위탁판매"로서 알려진 개념이다. 그러나, 요구하지 않은 콘텐트는 저장 장치의 사용자가 이것이 있는지도 모르고, 또는 이를 소비하기 원하지 않고 저장 장치에 저장된 채로 있을 수 있다. 저장 장치에 요구하지 않은 콘텐트를 저장하는 것은 저장 장치에 가용한(즉, 자유) 사용자 저장 공간을 감소시키며, 이는 사용자의 관점에서 바람직하지 못하다. 사용자는 누군가가(즉, 어떤 발행자) 저장 장치에 저장 공간의 일부를 차지하였기 때문에 사용자 자신의 콘텐트(예를 들어, 음악 파일)를 위한 저장 장치 내 공간이 부족하다거나, 요구하지 않은 콘텐트를 삭제함으로써 사용자가 취해지는 저장 공간을 회수해야 할 수도 있음을 발견할 수도 있다.By downloading unsolicited content to the user's storage device, the publisher wants to increase their income by eventually paying for the content and consuming unsolicited content. The practice of storing content that the publisher wants to consume and consume for this content but does not require the user's consent and requires the storage device is a concept known as "predictive consignment" in the media publishing field. However, unsolicited content may be present by the user of the storage device, or may not want to consume it and may remain stored on the storage device. Storing content that is not required by the storage device reduces the user storage space available (ie, free) to the storage device, which is undesirable from the user's point of view. The user has run out of storage space for his or her content (e.g. music files) or deleted content that he did not require because someone (ie some publisher) has taken up some of the storage space on the storage device. The user may find that the user may need to reclaim the storage space taken.

사용자의 저장 공간의 부분을 차지하는 문제에 대한 한 가지 부분 해결책은 이를테면 발행자의 웹사이트를 차단함으로써, 저장 장치에 발행자의 액세스를 차단하는 것을 포함한다. 이 해결책은 사용자에겐 수락될 수 있으나 발행자는 거의 판매가 이루어지지 않고 잠재적 소득원을 잃을 것이기 때문에 발행자 입장에선 문제가 된다. 이 문제에 대한 또 다른 부분적 해결책은 콘텐트를 호스트에 발행하고(이들 호스트들의 저장 장치에 콘텐트 파일을 저장하는 것) 무관하게 될 때 콘텐트를 제거하는 것을 포함한다. 즉, 콘텐트를 만들어낸 발행자는 콘텐트가 무관하게 되었을 때 저장 장치로부터 이 저장된 요구하지 않은 콘텐트를 제거한다. 요구하지 않은 콘텐트는 이의 소비를 위한 시간이 경과하였거나 사용자가 이를 소비하지 않을 것이라는 징후가 있을 때 무관하게 된 것으로 간주된다.One partial solution to the problem of taking up a portion of a user's storage space includes blocking the publisher's access to the storage device, such as by blocking the publisher's website. This solution may be acceptable to the user, but is problematic for the issuer because the issuer will rarely make a sale and will lose its potential source of income. Another partial solution to this problem involves publishing content to a host (saving the content file on the storage device of these hosts) and removing the content when it becomes irrelevant. That is, the publisher who created the content removes this stored unsolicited content from the storage device when the content becomes irrelevant. Unsolicited content is considered irrelevant when time for its consumption has elapsed or when there is an indication that the user will not consume it.

이에 따라, 콘텐트 소유자가 핸드셋에 콘텐트를 넣을 수 있도록 하면서 사용자가 불이익 없이 이들의 저장 장치를 사용하기 위해 비워둘 수 있도록 핸드셋 저장 장치를 현명하게 관리하는 새로운 기술에 대한 필요성이 전개된다. 따라서, 환원하여, 요구하지 않은 파일에 따른 문제를 해결할 필요성이 있다. 구체적으로, 발행자에게 이들의 업무를 수행하는 과정에서 저장 장치에 요구하지 않은 콘텐트의 다운로드를 진행하면서도, 이들 다운로드를 실질적으로 사용자가 그만두지 않도록 해야 한다.Accordingly, there is a need for a new technology for wisely managing handset storage so that content owners can put content on the handset while the user can be left free to use their storage without penalty. Therefore, there is a need to reduce the problem caused by undesired files by reducing. Specifically, while the publishers are downloading content that is not required by the storage device in the course of performing their tasks, the downloader should not allow the user to substantially quit the download.

그러므로, 저장 장치에 요구하지 않은 파일을 수용하는데 필요한 저장 공간이 사용자의 파일용으로는 요구되지 않는 동안 저장 장치에 이들 파일을 저장하고 사용자 파일을 위한 자유 저장 공간의 최소 크기를 확보해 두기 위해서 저장 장치로부터 요구하지 않은 파일을 제거할 수 있다면 이점이 될 것이다. 여러 실시예는 이러한 파일 관리를 구현하게 설계되며, 이들의 예가 여기에서 제공된다.Therefore, while the storage space needed to accommodate files not required by the storage device is not required for the user's files, they are stored on the storage device and stored to ensure the minimum amount of free storage space for the user files. It would be an advantage if you could remove files you do not require from your device. Various embodiments are designed to implement such file management, examples of which are provided herein.

전술한 바를 해결하기 위해서, 저장 장치에 저장된 파일, 또는 저장할 파일은 저장 장치와 연관된 파일 시스템의 구조에 폐기 불가 또는 폐기 가능으로 표시된다. 각각의 표시된 파일은 이를 폐기 우선권 레벨에 연관시킨다. 새로운 발행자의 파일(즉, 요구하지 않은 파일)은 저장 장치에 이를 저장하는 것이 사용자 파일용으로 유보해 둔 저장 사용 안전 마진을 요망되는 마진을 넘어 협소해지게 하지 않을 경우에만 저장 장치에 저장되는 것이 허용된다. 반면, 사용자 파일은 이들의 저장이 요망되는 폭을 넘을 저장 사용 안전 마진을 협소해지게 할지라도 저장 장치에 저장될 것이 허용된다. 그러나, 이러한 경우, 저장 사용 안전 마진의 요망되는 폭은 하나 이상의 폐기 가능 파일을 저장 장치로부터 제거함으로써 회복된다. 폐기 가능 파일은 이의 폐기 우선권 레벨이 소정의 폐기 임계값과 같거나 이보다 높다면(또는, 여기에서 설명된 바와 같이, 낮다면) 저장 장치로부터 제거된다.To solve the foregoing, a file stored on a storage device, or a file to be stored, is marked as non-disposable or discardable in the structure of the file system associated with the storage device. Each marked file associates it with a discard priority level. New publisher's files (i.e. files that are not required) are only stored on the storage device if saving them to the storage device does not narrow the storage usage safety margin reserved for user files beyond the desired margin. Is allowed. On the other hand, user files are allowed to be stored on the storage device even though their storage narrows the storage usage safety margin beyond the desired width. In this case, however, the desired width of the storage use safety margin is recovered by removing one or more discardable files from the storage device. A discardable file is removed from the storage if its discard priority level is equal to or higher than the predetermined discard threshold (or lower, as described herein).

일부 구현에서 저장 할당기의 일부일 수도 있는 다운로드 관리자는 (이들 두 가지는 호스트, 저장 장치, 또는 이들의 조합에 있을 수 있다) 하나 이상의 다운로드 상태에 기초하여 저장 장치의 저장 영역에 폐기 가능의 다운로드를 관리한다. 저장 장치의 저장 영역의 저장 영역에 파일을 저장하라는 요청이 수신되는데, 이 파일은 폐기 가능 파일이고, 저장 장치와 연관된 데이터 구조 내 데이터와 상기 파일을 연관시킨다. 일부 구현에서, 데이터 구조는 저장 장치와 연관된 파일 시스템 구조를 포함할 수 있다. 파일은 폐기 가능 파일로 표시된다. 일부 구현에서, 폐기 가능 파일에 연관된 데이터 구조의 파일 시스템 구조는 파일이 폐기 가능 파일임을 나타내도록 표시된다. 다른 구현에서, 파일 자체가 폐기 가능 파일로 표시된다.In some implementations, the download manager, which may be part of the storage allocator (these two may be on the host, the storage device, or a combination thereof) manages discardable downloads in the storage area of the storage device based on one or more download states. do. A request is received to store a file in a storage area of a storage area of a storage device, the file being a discardable file and associating the file 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 discardable. In some implementations, the file system structure of the data structure associated with the discardable file is indicated to indicate that the file is a discardable file. In another implementation, the file itself is marked as discardable.

다운로드 관리자는 저장 장치의 저장 영역에 폐기 가능 파일을 저장하라는 요청과 연관된 다운로드 상태를 판정하며, 다운로드 관리자는 판정된 다운로드 상태에 기초하여 저장 장치에 폐기 가능 파일의 다운로드를 지연시킬지를 판정한다. 다운로드 관리자는 저장 장치에 폐기 가능 파일의 다운로드를 지연시킬지의 판정에 기초하여 저장 장치에 폐기 가능 파일의 다운로드를 관리하다. 일부 구현에서, 다운로드 관리자는 다운로드 상태와 연관된 파라미터가 만족될 때까지 저장 장치에 폐기 가능 파일의 다운로드를 지연시킬 수 있다. 다운로드 관리자를 포함할 수 있는 저장 할당기는 파일이 폐기 가능 파일이라고 표시한 것에 기초하여 저장 장치의 저장 영역에 다운로드된 폐기 가능 파일의 저장을 관리하다.The download manager determines a download state associated with the request to store the discardable file in the storage area of the storage device, and the download manager determines whether to delay the download of the discardable file to the storage device based on the determined download state. The download manager manages the download of the discardable file on the storage device based on the determination of whether to delay the download of the discardable file on the storage device. In some implementations, the download manager can delay the download of the discardable file to the storage device until a parameter associated with the download state is satisfied. A storage allocator, which may include a download manager, manages the storage of downloaded discardable files in a storage area of the storage device based on indicating that the file is a discardable file.

이러한 예는 한정적이지 않다는 의도로, 첨부 도면에 여러 예시적인 실시예가 도시되었다. 예시의 단순성과 명확성을 위해서 이하 언급되는 도면들에 도시된 요소들은 반드시 축척에 맞게 도시된 것은 아님을 알 것이다. 또한, 적합한 것으로 여겨지는 경우에 동일 구성요소들에 동일 참조부호가 도면들에서 사용될 수 있다.Many illustrative embodiments have been shown in the accompanying drawings with the intention that such examples are not limiting. It is to be understood that the elements shown in the drawings referred to below are not necessarily drawn to scale for simplicity and clarity of illustration. Also, the same reference numerals may be used in the drawings when considered to be suitable.

본 발명은, 저장 장치에서 파일을 관리하기 위한 방법과 장치를 제공하는 효과를 갖는다.The present invention has the effect of providing a method and apparatus for managing files in a storage device.

도 1은 실시예에 따른 저장 시스템의 블록도.
도 2는 또 다른 실시예에 따른 저장 시스템의 블록도.
도 3은 실시예에 따른 저장 할당기의 블록도.
도 4는 실시예에 따라 파일을 관리하는 방법.
도 5는 실시예에 따라 폐기 가능 파일의 저장을 관리하는 방법.
도 6은 실시예에 따라 FAT32-구조의 파일 시스템에 하나 이상의 요구하지 않은 파일을 표시하는 방법.
도 7는 FAT32 테이블에 연관된 디렉토리 영역.
도 8은 실시예에 따라 FAT32 테이블.
도 9은 실시예에 따라 NTFS 테이블.
도 10은 실시예에 따라 FAT-기반의 파일 시스템의 논리 이미지.
도 11은 본 개시에 따른 파일 저장 관리 방법을 도시한 도면.
도 12a는 주 FAT를 도시한 도면.
도 12b는 폐기 가능 FAT를 도시한 도면.
도 13는 주 FAT 및 폐기 가능 FAT을 사용하여 저장 장치를 관리하는 방법의 흐름도.
도 14는 주 FAT 및 데이터베이스를 사용하여 저장 장치를 관리하는 방법의 흐름도.
도 15는 FAT 및 위치 파일을 사용하여 저장 장치를 관리하는 방법의 흐름도.
도 16은 클러스터 체인을 포함하는 2 이상의 클러스터의 순서가 스크램블된 클러스터 체인을 포함하는 FAT를 도시한 도면.
도 17은 클러스터 체인을 포함하는 2 이상의 클러스터의 순서가 스크램블된 클러스터 체인을 포함하는 FAT 및 연관된 위치 파일을 도시한 도면.
도 18은 클러스터 체인을 포함하는 2 이상의 클러스터의 순서가 스크램블된 FAT를 사용하여 저장 장치를 관리하는 방법의 흐름도.
도 19는 주 FAT 및 폐기 가능 FAT을 구현하는 파일 시스템에서 폐기 가능 파일이 열려있을 때 폐기 가능 파일의 전환을 방지하기 위해 전환 록을 이용하기 위한 방법의 흐름도.
도 20은 파일 시스템에서 비트가 사용자 ID들을 마스크하는 것을 도시한 도면.
도 21은 스마트 캐시의 클라이언트 측 구성성분을 도시한 도면.
도 22는 스마트 캐시 HD을 위해 수정된, 폐기 가능 파일을 위한 파일 시스템 구조를 도시한 도면.
도 23은 스마트 캐시 HD 시스템에서 사용하기 위한 대용량 파일 관리자의 블록도.
도 24는 대용량 폐기 가능 파일을 위한 전환 흐름도.
도 25는 대용량 파일 관리자에 의해 전환 요청을 처리하는 방법을 도시한 흐름도.
도 26은 분할될 수 있는 파일의 예로서 Matroska 파일 구조를 도시한 도면.
도 27은 분할 Matroska 파일를 도시한 도면.
도 28은 저장 장치의 저장 영역에 폐기 가능 파일의 다운로드를 관리하는 방법의 흐름도.
1 is a block diagram of a storage system according to an embodiment.
2 is a block diagram of a storage system according to another embodiment.
3 is a block diagram of a storage allocator in accordance with an embodiment.
4 is a method of managing a file according to an embodiment.
5 is a method for managing storage of discardable files in accordance with an embodiment.
6 is a method for displaying one or more unsolicited files in a FAT32-structured file system in accordance with an embodiment.
7 is a directory area associated with a FAT32 table.
8 is a FAT32 table according to the embodiment.
9 is an NTFS table according to an embodiment.
10 is a logical image of a FAT-based file system in accordance with an embodiment.
11 illustrates a file storage management method according to the present disclosure.
12A shows a primary FAT.
12B illustrates a disposable FAT.
13 is a flowchart of a method of managing a storage device using a primary FAT and a disposable FAT.
14 is a flowchart of a method of managing a storage device using a primary FAT and a database.
15 is a flowchart of a method of managing a storage device using FAT and location files.
FIG. 16 illustrates a FAT including a cluster chain in which an order of two or more clusters including a cluster chain is scrambled. FIG.
FIG. 17 illustrates a FAT and associated location file containing a cluster chain in which the order of two or more clusters including the cluster chain is scrambled.
FIG. 18 is a flow chart of a method for managing storage using FAT scrambled order of two or more clusters comprising cluster chains. FIG.
19 is a flow diagram of a method for using a transition lock to prevent the conversion of a discardable file when the discardable file is open in a file system implementing primary and discardable FAT.
20 illustrates that bits mask user IDs in a file system.
21 illustrates the client side components of the smart cache.
FIG. 22 illustrates a file system structure for discardable files modified for Smart Cache HD. FIG.
23 is a block diagram of a large file manager for use in a smart cache HD system.
24 is a conversion flow diagram for a large discardable file.
25 is a flowchart illustrating a method of processing a switch request by a large file manager.
FIG. 26 illustrates a Matroska file structure as an example of a file that can be divided. FIG.
27 shows a divided Matroska file.
28 is a flowchart of a method of managing download of discardable files in a storage area of a storage device.

다음 설명은 예시적인 실시예의 다양한 상세를 제공한다. 그러나, 이 설명은 청구항의 범위를 제한하려는 것이 아니고, 대신에 발명의 다양한 원리 및 이를 실시하는 방법을 설명하려는 것이다.The following description provides various details of example embodiments. However, this description is not intended to limit the scope of the claims, but instead to describe various principles of the invention and how to practice it.

요구하지 않은 콘텐트 및 관련 문제를 해결하기 위해서, 사용자 파일에는 다른 파일에 대한 저장 우선권이 주어지며, 이 우선권을 보증하기 위해 저장 사용 안전 마진이 유지된다. "사용자 파일"은 저장 장치의 사용자가 자진해서 저장한, 또는 저장 장치에 저장을 승인한 파일이다. 예를 들어, 사용자가 자신의 저장 장치에 다운로드하는 음악 파일은 사용자 파일로서 간주된다. 사용자에 의해 저장에 대해 요청되거나 승인될 때 사용자 파일은 "요구한" 파일로 간주된다.To solve unsolicited content and related issues, user files are given a storage priority for other files, and a storage usage safety margin is maintained to guarantee this priority. A "user file" is a file that a user of a storage device voluntarily stores or authorizes storage on a storage device. For example, a music file that a user downloads to his storage device is considered as a user file. When requested or approved for storage by a user, the user file is considered a "requested" file.

"다른 파일"을 여기에서는 "발행자 파일" 및 "요구하지 않은 파일"이라 한다. "발행자 파일"은 사용자가 이를 요청하지 않은 또는, 적어도 잠시 동안이 아닌 동안 이를 알지 못하고 저장 장치에 저장된 파일이다. 사용자는 요구하지 않은 파일을 사용하기 원하지 않을 수도 있다. 미사용 요구하지 않은 파일은 사용자의 저장 장치에 값비싼 저장 공간을 소비하는 경향이 있다. 그러므로, 여기에 개시된 원리에 따라, 이러한 파일은 이들을 저장하는 것이 저장 사용 안전 마진을 협소해지게 않을 경우에만 저장 장치에 저장되는 것이 허용된다. 저장 우선권은 장래에 사용자의 파일용으로 유보해 둘 자유 저장 공간(즉, 저장 사용 안전 마진)을 유지함으로써 사용자 파일에 주어진다. 저장 사용 안전 마진은 요구되거나 요망될 때마다 사용자 파일들이 저장 장치에 확실히 저장될 수 있게 하기 위해서 유지되어야 한다."Other files" are referred to herein as "issuer files" and "unsolicited files." A "issuer file" is a file stored on a storage device that the user has not requested or that has not known it for at least a while. You may not want to use a file that you do not require. Unused files tend to consume expensive storage space on the user's storage device. Therefore, in accordance with the principles disclosed herein, such files are allowed to be stored on the storage device only if storing them does not narrow the storage use safety margin. The storage priority is given to the user file by maintaining free storage space (ie, storage usage safety margin) to be reserved for the user's file in the future. A storage use safety margin must be maintained to ensure that user files are stored on the storage device whenever required or desired.

어떤 이유로 저장 사용 안전 마진이 요망되는 것보다 협소해지게 되면, 하나 이상의 요구하지 않은 파일은 저장 사용 안전 마진을 회복하기 위해서 저장 장치로부터 제거(즉, 삭제)될 것이다. 저장 사용 안전 마진을 유지하는 것은 이러한 파일들이 저장 장치에 다운로드된다면 추가의 사용자 파일을 위한 저장 공간을 보증한다. 이를 위해서, 요구하지 않은 파일은 저장 파일 시스템의 구조에 "폐기 가능"으로 표시되며, 요구된다면, 저장 사용 안전 마진을 유지하기 위해 요구되는 적어도 자유 저장 공간을 회수하기 위해 나중에 제거된다.If for some reason the storage use safety margin becomes narrower than desired, one or more unsolicited files will be removed (ie, deleted) from the storage device to restore the storage use safety margin. Maintaining a storage usage safety margin guarantees storage space for additional user files if these files are downloaded to the storage device. To this end, unsolicited files are marked “disposable” in the structure of the storage file system and, if required, are later removed to reclaim at least the free storage space required to maintain a storage usage safety margin.

사용자가 각종 폐기 가능 파일을 사용할 가능성은 폐기 가능 파일마다 다를 수 있기 때문에, 각각의 요구하지 않은 파일(즉, 각각의 폐기 가능 파일)에는 사전에 파일을 사용할 확률, 파일을 사용하는 것에 연관된 있을 수 있는 수익, 파일의 크기, 파일의 유형, 파일의 위치, 파일의 저장 기간 등과 같은 하나 이상의 기준에 따라 폐기 우선권 레벨이 할당된다. 예를 들어, 폐기 우선권 레벨은 수익 가능성에 의해 결정될 수 있다. 또 다른 예에 따라 영화 트레일러들 또는 광고들은 사용자가 일반적으로 트레일러들 및 광고들을 보고 싶어하지 않기 때문에 실제 영화보다 높은 폐기 우선권을 가질 것이다. 또 다른 예에 따라, 사용자에 의해 가장 사용될 가능성 있는 하나 이상의 폐기 가능 파일에는 가장 낮은 폐기 우선권 레벨이 할당되며, 이것은 이러한 파일들이 저장 장치로부터 제거될 마지막 파일(들)이 될 것임을 의미한다. 즉, 폐기 가능 파일의 사용 확률이 높을수록 이 파일에 할당되는 폐기 우선권 레벨의 레벨은 낮아진다. 하나 이상의 폐기 가능 파일들이 제거되었어도 요망되는 저장 사용 안전 마진이 완전히 회복되지 않는다면, 요망되는 저장 사용 안전 마진이 회복될 때까지 추가의 폐기 가능 파일이 저장 장치로부터 제거될 것이다.Because the likelihood that a user may use various disposable files may vary from one disposable file to another, each unsolicited file (ie, each disposable file) may be associated with the probability of using the file in advance, and the use of the file. Revocation priority levels are assigned according to one or more criteria, such as revenue present, file size, file type, file location, file storage period, and the like. For example, the revocation priority level can be determined by the profit potential. According to another example movie trailers or advertisements will have a higher discard priority than actual movies because the user generally does not want to see trailers and advertisements. According to another example, one or more discardable files most likely to be used by a user are assigned the lowest discard priority level, which means that these files will be the last file (s) to be removed from the storage device. In other words, the higher the probability of using a discardable file, the lower the level of discard priority assigned to this file. If one or more discardable files have been removed and the desired storage use safety margin is not fully recovered, additional disposable files will be removed from the storage device until the desired storage use safety margin is restored.

간략하게, 파일 시스템과 같은 데이터 구조는 컴퓨터 파일을 저장하고 구성하는 방법을 구현한다. 파일 시스템은 저장, 계층적 구성, 조작, 내비게이션, 액세스, 및 데이터의 검색을 위해 구현되는 한 세트의 앱스트랙트 데이터 유형들 및 메타데이터를 포함한다. 앱스트랙트 데이터 유형들 및 메타데이터는 "디렉토리 트리"를 형성하며 이를 통해 컴퓨터 파일들(여기에서는 "데이터 파일"이라하며, 또는 간단하게 "파일"이라 함)이 액세스되고, 조작되고 기동될 수 있다. "디렉토리 트리"는 전형적으로 루트 디렉토리 및 선택적 서브-디렉토리를 포함한다. 디렉토리 트리는 하나 이상의 "디렉토리 파일"로서 파일 시스템에 저장된다. 파일 시스템에 포함된 한 세트의 메타데이터 및 디렉토리 파일을 여기에서는 "파일 시스템 구조"라 한다. 그러므로, 파일 시스템은 데이터 파일에 액세스, 조작, 업데이트, 삭제, 및 기동을 용이하게 하는 데이터 파일들 및 파일 시스템 구조를 포함한다.Briefly, data structures such as file systems implement a method of storing and organizing computer files. The file system includes a set of Appact data types and metadata implemented for storage, hierarchical organization, manipulation, navigation, access, and retrieval of data. Abtract data types and metadata form a "directory tree" through which computer files (herein referred to as "data files" or simply "files") can be accessed, manipulated, and invoked. . A "directory tree" typically includes a root directory and an optional sub-directory. The directory tree is stored in the file system as one or more "directory files". A set of metadata and directory files contained in a file system is referred to herein as a "file system structure." Therefore, the file system includes data files and file system structure that facilitates accessing, manipulating, updating, deleting, and starting data files.

파일 할당 테이블("FAT")은 대표적 파일 시스템 아키텍처이다. FAT 파일 시스템은 DR-DOS, OpenDOS, MS-DOS, Linux, Windows 등을 포함하는 각종 운영 시스템들에 사용된다. FAT-구조의 파일 시스템은 어느 저장 영역들이 비워져 있고 할당되었는지와 정보 각각의 파일이 저장 장치에 저장되는 곳에 관한 정보를 중앙 집중화한 테이블을 사용한다. 테이블의 크기를 제한하기 위해서, 저장 공간은 "클러스터"라고 하는 인접한 섹터의 그룹으로 파일에 할당된다. 저장 장치가 발전됨에 따라, 클러스터의 최대 수가 증가하였으며 클러스터를 식별하기 위해 사용되는 비트의 수가 증가하였다. FAT 형식의 버전은 표 비트의 수로부터 도출되는데, FAT12는 12 비트를 사용하며, FAT 16은 16 비트를 사용하며 FAT32는 32 비트를 사용한다.The file allocation table ("FAT") is a representative file system architecture. The FAT file system is used in a variety of operating systems including DR-DOS, OpenDOS, MS-DOS, Linux, Windows, and the like. The FAT-structured file system uses a centralized table of information about which storage areas are emptied and allocated and where each file is stored on the storage device. To limit the size of the table, storage space is allocated to files in groups of contiguous sectors called "clusters." As storage has evolved, the maximum number of clusters has increased and the number of bits used to identify the cluster has increased. The FAT format version is derived from the number of table bits: FAT12 uses 12 bits, FAT 16 uses 16 bits, and FAT32 uses 32 bits.

다른 파일 시스템 아키텍처는 신기술 파일 시스템("NTFS")으로 알려져 있다. 현재, NTFS는 후속 버전들에서 Windows 2000, Windows XP, Windows Server 2003, Windows Server 2008, 및 Windows Vista를 포함한, Windows NT의 표준 파일 시스템이다. FAT32 및 NTFS은 저장 장치(100)에 제공될 수 있는 파일 시스템들이다.Another file system architecture is known as the New Technology File System ("NTFS"). Currently, NTFS is the standard file system of Windows NT, including Windows 2000, Windows XP, Windows Server 2003, Windows Server 2008, and Windows Vista in subsequent versions. FAT32 and NTFS are file systems that can be provided to storage device 100.

도 1은 전형적인 저장 장치(100)를 도시한다. 저장 장치(100)는 각종 유형의 파일(예를 들어, 음악 파일, 비디오 파일 등)(이들 중 일부는 사용자 파일일 수 있고 다른 것은 발행자 파일일 수 있다)을 저장하기 위한 저장 영역(110)을 포함한다. 또한, 저장 장치(100)는 데이터 및 제어 라인(130)을 통해 저장 영역(110)을 관리하는 저장 제어기(120)를 포함한다. 또한, 저장 제어기(120)는 호스트 인터페이스(150)를 통해 호스트 장치(140)와 통신한다. 호스트 장치(140)는 전용 하드웨어 또는 범용 계산 플랫폼일 수 있다.1 illustrates a typical storage device 100. The storage device 100 has a storage area 110 for storing various types of files (e.g., music files, video files, etc.) (some of which may be user files and others may be publisher files). Include. 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 may be dedicated hardware or a general purpose computing platform.

저장 영역(110)은, 예를 들어, NAND 플래시 품종일 수 있다. 저장 제어기(120)는, 예를 들어, "판독", "기록" 및 "소거" 동작, 마모 평준화 등을 제어함으로써 그리고 호스트(140)와의 통신을 제어함으로써 저장 영역(110)에/으로부터 모든 데이터 전송 및 호스트 장치(140)에/로부터 모든 데이터 전송을 제어한다. 저장 영역(110)은, 예를 들어, 사용자 파일과 발행자의 파일, 권한이 있는 호스트 장치에 의해서만 사용될 것이 허용되는 보호된 데이터, 및 저장 제어기(120)에 의해 단지 내부적으로만 사용되는 보안 데이터를 내포할 수 있다. 호스트들(예를 들어, 호스트(140))은 저장 영역(110)에 직접 액세스할 수 없다. 즉, 예를 들어, 호스트(140)가 저장 장치(100)로부터 데이터를 요청하거나 필요로 한다면, 호스트(140)는 이를 저장 제어기(120)로부터 요청해야 한다. 저장 장치(100)에 저장된 데이터 파일에 대한 용이한 액세스를 할 수 있도록 하기 위해서, 저장 장치(100)에는 파일 시스템(160)이 제공된다.Storage area 110 may be, for example, a NAND flash variety. Storage controller 120 may store all data to / from storage area 110, for example, by controlling “read”, “write” and “erase” operations, wear leveling, and the like and by communicating with host 140. Transfer and control all data transfers to and from the host device 140. Storage area 110 may, for example, store user files and publisher's files, protected data that is permitted to be used only by authorized host devices, and secure data that is used only internally by storage controller 120. It can be nested. Hosts (eg, host 140) do not have direct access to storage area 110. That is, for example, if the host 140 requests or requires data from the storage device 100, the host 140 must request it from the storage controller 120. In order to provide easy access to data files stored in the storage device 100, the storage device 100 is provided with a file system 160.

저장 영역(110)은 사용자 영역(170), 발행자 영역(180), 및 자유 저장 공간(190)으로 기능적으로 3부분들로 분할된다. 사용자 영역(170)은 사용자 파일들이 저장되는 저장 영역(110) 내의 저장 공간이다. 발행자 영역(180)은 발행자 파일들이 저장되는 저장 영역(110) 내의 저장 공간이다. 자유 저장 공간(190)은 저장 영역(110) 내에 빈 저장 공간이다. 자유 저장 공간(190)은 사용자 파일 또는 발행자 파일을 유지하기 위해 사용될 수 있다. 사용자 파일을 자유 저장 공간(190)에 저장할 때, 사용자 파일을 유지하는 저장 공간은 자유 저장 공간(190)으로부터 감하여지고 사용자 영역(170)에 더해진다. 마찬가지로, 발행자 파일을 자유 저장 공간(190)에 저장할 때, 발행자 파일을 유지하는 저장 공간은 자유 저장 공간(190)으로부터 감하여지고 발행자 영역(180)에 더해진다. 사용자 파일 또는 발행자 파일이 저장 영역(110)으로부터 제거된다면(즉, 삭제된다면), 비워진 저장 공간은 자유 저장 공간(190)에 더해진다(되돌아 간다).Storage area 110 is functionally divided into three parts: user area 170, publisher area 180, and free storage space 190. The user area 170 is a storage space in the storage area 110 in which user files are stored. The publisher area 180 is a storage space in the storage area 110 in which publisher files are stored. The free storage space 190 is an empty storage space in the storage area 110. Free storage space 190 may be used to hold user files or publisher files. When storing a user file in free storage space 190, the storage space holding the user file is subtracted from free storage space 190 and added to user area 170. Similarly, when storing a publisher file in free storage space 190, the storage space holding the publisher file is subtracted from free storage space 190 and added to publisher area 180. If a user file or publisher file is removed from storage area 110 (ie, deleted), the empty storage space is added (return) to free storage space 190.

자유 저장 공간(190)의 크기가 이를 허용한다면, 저장 장치(100)의 사용자는 호스트(140)에서 저장 영역(110)으로 사용자 파일을 다운로드할 수 있다. 다운로드된 사용자 파일은 자유 저장 공간(190)에 저장될 것이며, 위에 설명된 바와 같이, 이 파일을 유지하는 저장 공간은 자유 저장 공간(190)에서 감하여져 사용자 영역(170)에 더해진다. 위에 설명된 바와 같이, 사용자 파일은 다른(예를 들어, 발행자) 파일에 대해 우선권을 가지며, 이 우선권을 보증하기 위해서, 요망되는 저장 사용 안전 마진이 설정되고, 요구된다면, 이하 기술된 방법으로 회복된다.If the size of the free storage space 190 allows this, the user of the storage device 100 may download the user file from the host 140 to the storage area 110. The downloaded user file will be stored in free storage space 190, and as described above, the storage space holding this file is subtracted from free storage space 190 and added to user area 170. As described above, the user file has priority over other (e.g., issuer) files, and in order to guarantee this priority, the desired storage use safety margin is set and, if required, recovered in the manner described below. do.

호스트(140)는 자유 저장 공간(190)의 회복을 용이하게 하기 위해서 저장 할당기(144)를 포함한다. 저장 할당기(144)는 하드웨어, 펌웨어, 소프트웨어 또는 이들의 임의의 조합일 수 있다. 일반적으로, 저장 할당기(144)는 호스트(140)에 통신되는 파일(예를 들어, 파일(142))이 사용자 파일인지 아니면 발행자 파일인지를 판정하고, 이어서 통신된 파일을 그에 따라 표시한다(즉, 폐기 불가 파일로서 또는 폐기 가능 파일로서).Host 140 includes storage allocator 144 to facilitate recovery of free storage space 190. Storage allocator 144 may be hardware, firmware, software, or any combination thereof. In general, storage allocator 144 determines whether the file communicated to host 140 (e.g., file 142) is a user file or a publisher file, and then displays the communicated file accordingly ( That is, as a non-disposable file or as a disposable file.

예를 들어, 파일은 사용자 파일이기 때문에, 호스트(140)에 통신된 파일(예를 들어, 파일(142))이 폐기 불가한 것으로 저장 할당기(144)가 판정한다면, 저장 할당기(144)는 파일을 통상적인 방법으로 저장 영역(110)에 저장한다. 위에 설명된 바와 같이, 폐기 불가 파일을 유지하는 저장 영역(110) 내에 저장 공간은 사용자 영역(170)에 더해지거나, 이의 일부가 될 것이다. 그러나, 예를 들어 발행자 파일이기 때문에, 호스트(140)에 통신된 파일이 폐기 가능한 것으로 저장 할당기(144)가 판정한다면, 저장 할당기(144)는 파일을 폐기 가능으로 표시한다. 일부 구현에서, 파일을 폐기 가능으로 표시하기 위해, 저장 할당기(144)는 파일이 폐기 가능 파일임을 나타내기 위해 파일 시스템 구조를 파일 시스템(160)에 표시함을 알 것이다. 다른 구현에서, 파일을 폐기 가능으로 표시하기 위해, 저장 할당기(144)는 파일 자체를 폐기 가능 파일로 표시한다. 자유 저장 공간(190)이 요망되는 저장 사용 안전 마진보다 크다면, 저장 할당기(144)는 표시된 폐기 가능 파일을 자유 저장 공간(190)에 저장하며, 위에 설명된 바와 같이, 폐기 가능 파일을 유지하는 자유 저장 공간(190) 내에 저장 공간은 자유 저장 공간(190)으로부터 감하여지고(즉, 자유 저장 공간이 감소된다), 발행자 영역(180)에 더해진다(추가는 폐기 가능 파일(들)(182)로서 논리적으로 도시되었다).For example, if the storage allocator 144 determines that the file communicated to the host 140 (eg, the file 142) is non-disposable because the file is a user file, the storage allocator 144 Stores the file in storage area 110 in a conventional manner. As described above, the storage space in the storage area 110 that holds non-disposable files will be added to or become part of the user area 170. However, if the storage allocator 144 determines that the file communicated to the host 140 is discardable, for example because it is an issuer file, the storage allocator 144 marks the file as discardable. In some implementations, to mark a file as discardable, storage allocator 144 will recognize that the file system structure is indicated to file system 160 to indicate that the file is a discardable file. In another implementation, to mark a file as discardable, storage allocator 144 marks the file itself as discardable. If free storage space 190 is larger than the desired storage usage margin, storage allocator 144 stores the marked disposable file in free storage space 190 and maintains the disposable file, as described above. The storage space in the free storage space 190 is subtracted from the free storage space 190 (ie, the free storage space is reduced) and added to the issuer area 180 (additionally discardable file (s) 182). Logically shown).

위에 설명된 바와 같이, 발행자 파일들이 사용자에 의해 사용될 수 있을 가능성은 발행자 파일마다 다를 수 있는데, 이것은 최소 사용된 발행자 파일을 저장 영역(110)에서 제거하기 위한 첫 번째 후보가 될 공산이 있게 한다. 그러므로, 파일을 폐기 불가 또는 폐기 가능으로 표시하는 것 외에도, 저장 할당기(144)는 폐기 가능 파일이 저장 영역(110)에 저장되기 전에, 또는 그와 동시에, 또는 그 후에 각각의 폐기 가능 파일에 폐기 우선권 레벨을 할당한다.As described above, the likelihood that issuer files may be used by a user may vary from issuer file, which makes it likely to be the first candidate for removing the least used issuer file from storage area 110. Therefore, in addition to marking a file as non-disposable or discardable, the storage allocator 144 may store each discardable file before, concurrently with, or after the discardable file is stored in the storage area 110. Assign revocation priority levels.

파일을 폐기 불가 또는 폐기 가능으로 표시하고, 저장 할당기(144)에 의해 폐기 우선권 레벨을 할당하고, 저장 장치(100)의 파일 시스템(160)(또는 이의 이미지)을 사용함으로써, 저장 할당기(144)는 저장 영역(110)에 사용자 파일들 및 발행자 파일의 수, 및 저장 영역(110) 내에 이들의 크기들 및 논리적 위치들을 "안다". 이 정보(즉, 파일의 수, 크기, 및 위치)를 알고 있고, 특히 하나 이상의 표시된 파일에 기초하여, 저장 할당기(144)는 저장 영역(110) 및 저장 영역(110)에 요구한 파일과 요구하지 않은 파일의 저장을 관리한다. 저장 영역(110)을 관리하는 것, 또는 저장 영역(110)에 파일의 저장을 관리하는 것은 예를 들어, 폐기 가능으로 표시된 하나 이상의 파일을 선택적으로 제거함으로써 저장 사용 안전 마진을 회복하고, 폐기 가능으로 표시된 모든 파일을 제거함으로써 저장 영역을 비우고, 다수 클러스터의 파일을 저-성능 저장 모듈에 재 매핑하는 것을 포함할 수 있다. 저장 영역(110) 또는 이에 저장된 파일을 관리하는 것은 저장 영역(110) 또는 이에 저장된 파일의 다른, 또는 추가적인, 또는 대안적인 면들을 관리하는 것을 포함할 수 있다.By marking a file as non-deletable or discardable, assigning a discard priority level by storage allocator 144, and using file system 160 (or an image thereof) of storage device 100, the storage allocator ( 144 “knows” the number of user files and publisher files in storage area 110, and their sizes and logical locations in storage area 110. Knowing this information (i.e. number, size, and location of the files), and in particular based on one or more of the indicated files, storage allocator 144 may be adapted to the storage area 110 and the files requested by the storage area 110; Manage storage of unsolicited files. Managing the storage area 110, or managing the storage of files in the storage area 110 may recover the storage use safety margin, for example by selectively removing one or more files marked as discardable and discardable. It may include emptying the storage area by removing all files marked with, and remapping files of multiple clusters to low-performance storage modules. Managing the storage area 110 or files stored therein may include managing other, additional, or alternative aspects of the storage area 110 or files stored therein.

또한, 저장 할당기(144)는, 각각의 폐기 가능 파일에 할당된 폐기 레벨에 의해서, 원래 장래에 사용자 파일을 위해 유보해 두었던 자유 저장 공간을 회복하기 위해서(즉, 요망되는 저장 사용 안전 마진을 회복하기 위해서) 폐기 가능 파일들이 폐기될 수 있는 또는 폐기하게 될(즉, 저장 영역(110)으로부터 삭제되거나 제거될) 순서를 안다. 따라서, 사용자가 새로운 사용자 파일을 저장 영역(110)에 저장하기를 원하지만 이 사용자 파일을 수용할 충분한 자유 저장 공간이 없다면(이것은 저장 사용 안전 마진이 요망되는 것보다 좁음을 의미한다), 저장 할당기(144)는 요망되는 저장 사용 안전 마진이 최대로 회복될 때까지, 폐기 가능 파일에 할당된 폐기 우선권 레벨들을 사용하여 폐기 가능 파일을 차례로 반복하여 삭제하여 더 많은 자유 저장 공간을 회복한다(즉, 자유 저장 공간(190)을 늘린다). 위에 설명된 바와 같이, 최대로 회복된 저장 사용 안전 마진은 장래에 사용자 파일을 위해 충분한 자유 저장 공간이 유보됨을 높은 확률로 보증한다. 사용자가 저장된 폐기 가능 파일을 간혹 사용하기를 원할 수 있음이 고려되고 따라서 이 파일을 수용하는 저장 공간이 새로운 사용자 파일용으로 요구되는 경우에만 저장 장치로부터 제거되기 때문에, 폐기 가능 파일은 새로운 사용자 파일을 저장하라는 요청을 수신하는 것에 응해서만 저장 장치(100)로부터 제거 또는 삭제된다. 저장 할당기(144)는 호스트(140) 내 내장 또는 포함될 수 있고, 또는 호스트(140) 그리고 저장 장치(100) 외부에(점선 박스(144')로서 도시된) 있을 수 있다.In addition, the storage allocator 144, by means of the discard level assigned to each discardable file, recovers the free storage space originally reserved for the user file in the future (i.e., saves the desired storage usage safety margin). To recover) the order in which discardable files can be discarded or to be discarded (ie, deleted or removed from storage area 110) is known. Thus, if a user wants to store a new user file in storage area 110 but does not have enough free storage space to accommodate this user file (this means that the storage usage margin is narrower than desired), storage allocation. 144 recovers more free storage space by repeatedly deleting the discardable files in sequence using the discard priority levels assigned to the discardable file until the desired storage use safety margin is recovered to the maximum (ie, , Increase free storage space 190). As described above, the maximum recovered storage use safety margin guarantees a high probability that sufficient free storage space will be reserved for future user files. It is contemplated that a user may want to use a stored disposable file occasionally, so that the storage space to accommodate this file is removed from the storage device only if it is required for the new user file, so the discardable file can It is removed or deleted from the storage device 100 only in response to receiving a request to save. Storage allocator 144 may be embedded or included within host 140, or may be external to host 140 and storage device 100 (shown as dashed box 144 ′).

저장 할당기(144)는 저장 장치(100)의 또는 이에 연관된 파일 시스템의 전형적인 이미지를 갖는다. 저장 할당기(144)는 파일을 폐기 불가 또는 폐기 가능으로 표시하고 폐기 레벨을 각각의 폐기 가능 파일에 할당하기 위해 저장 장치의 파일 시스템 이미지를 사용한다. 일예에서, 파일 시스템은 FAT를 포함하며, 이 경우에 표시하는 것은 하나 이상의 미사용 비트들을 설정함으로써, 파일에 연관된 FAT 엔트리의 미사용 부분에 행해진다. 서로 다른 파일 시스템들은 서로 다른 구조를 갖기 때문에, 파일을 표시하는 것(즉, 폐기 불가 또는 폐기 가능으로서) 및 폐기 레벨들을 할당하는 것은 도 6 내지 도 1에 상술되고 이들에 관련하여 이하 기술되는 바와 같이, 사용되는 파일 시스템 구조에 맞게 수정된다.Storage allocator 144 has a typical image of a file system of or associated with storage device 100. Storage allocator 144 uses the file system image of the storage device to mark a file as non-desirable or discardable and to assign a discard level to each discardable file. In one example, the file system includes a FAT, in which case the marking is done to the unused portion of the FAT entry associated with the file by setting one or more unused bits. Since different file systems have different structures, marking a file (ie, as non-disposable or discardable) and assigning discard levels are as described above in FIGS. 6-1 and described below in connection with them. Likewise, it is modified to match the file system structure used.

도 2는 또 다른 실시예에 따른 휴대 저장 장치(200)의 블록도이다. 저장 제어기(220)는 저장 제어기(120)처럼 기능하고 저장 할당기(244)는 저장 할당기(144)처럼 기능한다. 저장 할당기(244)는 하드웨어, 펌웨어, 소프트웨어 또는 이들의 임의의 조합일 수 있다. 저장 할당기(244)는 내부적으로 저장 제어기(220)와 공조한다. 요청은 파일이 폐기 가능 파일인지 아닌지의 표시를 포함하는 것으로서, 저장 제어기(220)가 호스트(240)로부터 저장 영역(210)에 파일을 저장하라는 저장 요청을 수신될 때마다, 저장 제어기(220)는 저장 요청 및 파일이 폐기 가능한지 여부를 저장 할당기(244)에 알린다. 이어서, 저장 할당기(244)는 저장 장치(200)에 연관된 파일 시스템의 구조에 파일을 폐기 불가 또는 폐기 가능으로 표시한다. 전형적으로, 호스트(240) 상에서 실행되는 애플리케이션들은 파일이 폐기 가능 파일인 것으로 판정하고, 파일이 폐기 가능 파일임을 나타내는 플래그 또는 다른 표시를 저장 제어기(220)에 보낸다. 호스트(240) 상에서 실행되는 애플리케이션들은 저장 장치에 파일을 저장할 것을 요청하기 위해 저장 프로토콜들의 부분으로서 플래그 또는 다른 표시를 보낸다. 이러한 저장 프로토콜들의 예는 POSIX 파일 시스템 함수들 또는 java.io class 트리의 사용을 포함한다.2 is a block diagram of a portable storage device 200 according to another embodiment. Storage controller 220 functions like storage controller 120 and storage allocator 244 functions like storage allocator 144. Storage allocator 244 can be hardware, firmware, software, or any combination thereof. Storage allocator 244 internally cooperates with storage controller 220. The request includes an indication of whether the file is a discardable file, and whenever the storage controller 220 receives a save request from the host 240 to store the file in the storage area 210, the storage controller 220. Notifies storage allocator 244 whether the storage request and the file are discardable. Storage allocator 244 then marks the file as non-destroyable or discardable in the structure of the file system associated with storage device 200. Typically, applications running on host 240 determine that the file is a discardable file and send a flag or other indication to storage controller 220 indicating that the file is a discardable file. Applications running on host 240 send a flag or other indication as part of the storage protocols to request storage of the file to the storage device. Examples of such storage protocols include the use of POSIX file system functions or the java.io class tree.

새로운 파일이 폐기 가능한 것으로 저장 할당기(244)가 판정한다면, 저장 할당기(244)는 파일의 사용 확률에 따라 새로운 파일에 폐기 우선권 레벨을 할당한다. 이어서, 저장 할당기(244)는 자유 저장 공간(290)의 현재 크기를 평가하고 새로운 파일을 위한 공간을 만들기 위해서 하나 이상의 폐기 가능 파일들이 저장 영역(210)으로부터 제거(즉, 삭제)되어야 하는지를 판단한다. 폐기 가능 파일 또는 파일들이 저장 장치로부터 제거되어야 한다면, 저장 할당기(244)는 어느 파일(들)이 제거하기 위한 현재의 후보 파일인지 판단한다. 이어서, 저장 할당기(244)는 저장 영역(210)로부터 제거되어야할 폐기 가능 파일을 저장 제어기(220)에 통보하고, 통보에 응하여 저장 제어기(220)는 저장 할당기(244)에 의해 지시된 폐기 가능 파일 또는 파일을 제거한다. 휴대 저장 장치(200)의 일부 구성들에서, 저장 할당기(244)는 저장 제어기(220)와 저장 영역(210) 사이에 기능적으로 배치될 수 있다. 저장 할당기(244)가 저장 제어기(220)와 저장 영역(210) 사이에 기능적으로 배치되는 구성들에서, 저장 할당기(244) 또는 저장 영역(210)은 저장 제어기(220)의 기능들 중 일부를 취해야 한다. 이러한 구성들에서 저장 영역(210)은 플래시 NAND 프로토콜들보다 높은 레벨로 통신하는 메모리 유닛들로 구성된다.If storage allocator 244 determines that the new file is discardable, storage allocator 244 assigns a discarding priority level to the new file according to the usage probability of the file. Storage allocator 244 then evaluates the current size of free storage space 290 and determines whether one or more discardable files should be removed (ie, deleted) from storage area 210 to make room for new files. do. If the discardable file or files are to be removed from the storage device, storage allocator 244 determines which file (s) is the current candidate file for removal. Storage allocator 244 then notifies storage controller 220 of the discardable file to be removed from storage area 210, and in response, storage controller 220 is directed by storage allocator 244. Remove discardable files or files. In some configurations of portable storage device 200, storage allocator 244 can be functionally disposed between storage controller 220 and storage area 210. In configurations where storage allocator 244 is functionally disposed between storage controller 220 and storage region 210, storage allocator 244 or storage region 210 may be one of the functions of storage controller 220. You have to take some. In such configurations the storage area 210 is comprised of memory units communicating at a higher level than flash NAND protocols.

도 3은 실시예에 따른 저장 할당기(300)의 블록도이다. 저장 할당기(300)는 메모리 유닛(310), 프로세서(320), 및 인터페이스(330)를 포함한다. 메모리 유닛(310)은 저장 장치(예를 들어, 도 2의 저장 장치(200))에 연관된, 파일 시스템 구조 또는 파일 시스템 구조의 이미지를 유지할 수 있다. 프로세서(320)는 저장 장치와 연관된 파일 시스템을 관리한다. 인터페이스(330)는 도 1에 나타낸 바와 같이 호스트와 그리고 저장 장치의 저장 제어기와 공조하게, 또는 도 2에 나타낸 바와 같이 저장 장치의 저장 제어기하고만 공조하게 구성될 수 있다.3 is a block diagram of a storage allocator 300 according to an embodiment. Storage allocator 300 includes a memory unit 310, a processor 320, and an interface 330. The memory unit 310 may maintain a file system structure or an image of the file system structure, associated with the storage device (eg, the storage device 200 of FIG. 2). Processor 320 manages file systems associated with storage devices. The interface 330 may be configured to cooperate with the host and with the storage controller of the storage device as shown in FIG. 1, or only with the storage controller of the storage device as shown in FIG. 2.

프로세서(320)는 저장 장치의 저장 영역에 파일을 저장하라는 요청을 인터페이스(330)를 통해 수신하고, 저장 할당기(300)가 동작하는 저장 장치와 연관된 파일 시스템의 구조에 파일을 폐기 가능으로서 또는 폐기 불가로 표시하게 구성된다. 인터페이스(330)가 도 2의 저장 제어기(220)에 기능적으로 부착된다면(이에 따라, 예를 들어, 파일 레벨 명령들이 아니라 SCSI 또는 랩(wrapped) USB/MSC 명령들을 수신한다면), 수신된 요청은 파일 레벨보다 훨씬 낮은 레벨에 있다. 즉, 수신된 요청은 호스트에 의해 올바르게 해석되었을 때 파일에 대응하게 될 논리 블록 어드레스들에 섹터를 저장하라는 요청일 것이다. 저장 제어기(220)가 NVMHCI 프로토콜, 또는 NFS와 같은 네트워킹 파일 시스템 프로토콜 또는 유사한 프로토콜을 지원한다면, 저장 제어기(220)는 파일 레벨 요청들을 얻을 수 있다. 그러므로, 저장 제어기(220)와 같은 저장 제어기와 인터페이스(330)와 같은 인터페이스 간에 통신은 NVMHCI로 또는 NVMHCI-유사 구현들로 제한되는 것은 아니다. 통신 인터페이스(330)는 도 3에 도시된 바와 같이, 저장 할당기(300)에 통합될 수 있다.The processor 320 receives via the interface 330 a request to store a file in a storage area of the storage device and discards the file in a structure of a file system associated with the storage device on which the storage allocator 300 operates. It is configured to be marked non-disposable. If interface 330 is functionally attached to storage controller 220 of FIG. 2 (thus receiving, for example, SCSI or wrapped USB / MSC commands rather than file level commands), the received request is It is at a much lower level than the file level. That is, the received request would be a request to store a sector at logical block addresses that would correspond to a file when correctly interpreted by the host. If the storage controller 220 supports the NVMHCI protocol, or a networking file system protocol such as NFS, or a similar protocol, the storage controller 220 can obtain file level requests. Therefore, communication between a storage controller such as storage controller 220 and an interface such as interface 330 is not limited to NVMHCI or to NVMHCI-like implementations. The communication interface 330 may be integrated into the storage allocator 300, as shown in FIG. 3.

프로세서(320)는 표시된 파일을 저장 장치에 보내게 추가 구성되며, 파일을 폐기 가능으로 표시하는 것은 파일을 폐기 우선권 레벨에 할당하는 것을 포함한다. 저장 장치에 의해 사용되는 파일 시스템이 FAT-기반이라면, 프로세서(320)는 m개의 최상위 비트들(예를 들어, m = 4)에 대응하는 값을 표시된 파일에 대응하는 FAT에 설정함으로써 폐기 우선권 레벨을 표시된 파일에 할당한다. FAT 엔트리에 최상위 비트에 설정된 대응하는 값, 또는 NTFS 디렉토리 엔트리에 설정된 값은 파일의 속성일 수 있고, 또는 이에 관계될 수도 있다. "속성"이라는 것은 표 내에 저장된 콘텐트의 유형에 속하는 정보를 내포하는 FAT 표 또는 NTFS 테이블의 헤더 내 메타데이터 태그 또는 어떤 데이터 구조를 의미한다. "광고", "프림미엄 콘텐트", 및 "홍보 (자유) 콘텐트"는 FAT 테이블에 또는 NTFS 테이블에 저장될 수 있는 대표적 유형의 콘텐트들이다. 폐기 레벨들을 설정하기 위한 대안적 기준들은 예를 들어, 마지막 액세스된 파일, 파일 크기, 파일 유형 등이다.The processor 320 is further configured to send the indicated file to the storage device, and marking the file as discardable includes assigning the file to a discard priority level. If the file system used by the storage device is FAT-based, the processor 320 sets the discard priority level by setting a value corresponding to the m most significant bits (e.g., m = 4) to the FAT corresponding to the indicated file. Is assigned to the indicated file. The corresponding value set in the most significant bit in the FAT entry, or the value set in the NTFS directory entry, may be or may be an attribute of the file. By "attribute" is meant any data structure or metadata tag in the header of a FAT table or NTFS table that contains information pertaining to the type of content stored in the table. "Advertisement", "Premium content", and "Promote (free) content" are representative types of content that can be stored in a FAT table or in an NTFS table. Alternative criteria for setting revocation levels 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 most significant bits of a FAT32 entry used only to mark a file may be less than 4 or 4 since these bits are not used. Also, the more bits used, the more discarding priority levels may be used. For example, using three bits (i.e. m = 3) gives eight (2 3 = 8) discarding priority levels and using four bits (i.e. m = 4) 16 Provide a discarding priority level of (2 4 = 16) (ie, including a discarding priority level of "0" assigned to the non-deletable file). That is, the processor 320 sets the value of m most significant bits to 0 if the displayed file is not discardable or to a value between 1 and 2 m -1 if the displayed file is discardable. The discard priority level indicates the priority at which the indicated file can or should be discarded from the storage device. For example, depending on the implementation, the value "1" may indicate a file that is discardable at the lowest priority or discarded at the highest priority, and the value "2 m -1" may be discardable or lowest at the highest priority, respectively. Priorities can indicate files that can be discarded.

프로세서(320)는 요구하지 않은 파일이 저장 장치의 사용자에 의해 사용될 가능성 또는 확률에 관련하여 위에 설명된 바와 같이, 파일의 예상된 사용에 따라 폐기 우선권 레벨들을 표시된 파일에 할당할 수 있다. 프로세서(320)는 저장 장치에 새로운 파일을 저장하라는 각각의 요청에 따라, 또는 이를 수신한 것에 응하여, 표시된 파일의 폐기 우선권 레벨을 업데이트할 수 있다. 프로세서(320)는 저장 장치에 파일을 저장하라는 하나 이상의 새로운 요청들로부터 독립적으로 소정의 표시된 파일의 폐기 우선권 레벨을 업데이트할 수 있다. 예를 들어, 이전에 고 우선권을 갖고 있었던 파일은 어떤 시간간격 후에 낮아진 우선권을 가질 수 있다. 프로세서(320)는 파일이 소정의 폐기 임계값과 동일한 또는 이보다 큰 폐기 우선권 레벨에 연관되었다면 저장 장치에 저장된 이 파일을 삭제한다. 프로세서(320)는 파일 기록들 또는 추가들에 기초하여, 또는 저장 장치에 자유 저장 공간의 예상된 사용 또는 새로운 발행자 파일의 사용 가능성에 따라, 폐기 임계값을 (재)설정할 수 있다.The processor 320 may assign revocation priority levels to the indicated file according to the expected use of the file, as described above with respect to the likelihood or probability that an unsolicited file will be used by the user of the storage device. The processor 320 may update the discarding priority level of the displayed file in response to, or in response to receiving, each request to store a new file on the storage device. Processor 320 may update the discarding priority level of a given indicated file independently from one or more new requests to save the file to storage. For example, a file that previously had high priority may have a lower priority after some time interval. Processor 320 deletes the file stored in 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 may (re) set the discard threshold based on file records or additions, or depending on the expected use of free storage space on the storage device or the availability of a new publisher file.

메모리 유닛(310)은 프로세서(320)가 저장 장치에 저장된 파일에 할당하는 폐기 우선권 레벨들을 내포하는 할당 테이블(340)을 유지할 수 있다. 또한, 할당 테이블(340)은 파일을 이들에 할당된 폐기 우선권 레벨들에 연관시키는 파일의 식별자들 및 정보를 유지할 수 있다. 또한, 할당 테이블(340)은 폐기 임계값을 유지할 수 있다. 할당 테이블(340)에 유지된 정보는 요망되는 저장 사용 안전 마진을 회복하기 위해서 프로세서(320)가 저장 장치로부터 어느 폐기 가능 파일 또는 파일들이 제거될 수 있는지를 확인할 수 있게 한다.The memory unit 310 may maintain an allocation table 340 containing discarding priority levels that the processor 320 assigns to files stored in the storage device. In addition, the allocation table 340 may maintain identifiers and information of the file that associates the file with revocation priority levels assigned to them. In addition, the allocation table 340 may maintain a discard threshold. The information maintained in the allocation table 340 allows the processor 320 to identify which discardable files or files can be removed from the storage device to restore the desired storage use safety margin.

저장 장치에 새로운 파일을 저장하라는 요청을 수신한 것에 응하여, 프로세서(320)는 저장 장치에 자유 저장 공간 (f)의 크기를 평가하고, 저장 장치에 자유 저장 공간의의 평가된 크기가 소정의 크기보다 크다면 저장 장치에 새로운 파일을 저장하거나, 소정의 크기보다 크지 않다면, 프로세서(320)는 삭제될 수 있는 저장 장치 내 하나 이상의 폐기 가능 파일을 탐색하고, 이러한 파일 또는 파일을 찾았을 때, 프로세서(320)는 확장된 자유 저장 공간의 총 크기가 소정의 크기와 같거나 이보다 크게 되도록 현재 자유 저장 공간 (f)을 확장하기 위해 이 파일 또는 파일을 삭제한다. 폐기 가능 파일 또는 파일은 폐기 가능 파일에 연관된 폐기 우선권 레벨이 소정의 폐기 임계값(예를 들어, 1 내지 15(이를 포함한) 사이, 예를 들어, 15)과 같거나 이보다 크다면 저장 장치로부터 삭제될 수 있다.In response to receiving the request to store the new file on 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 is a predetermined size. If greater, store a new file on the storage device, or if it is not larger than a predetermined size, the processor 320 searches for one or more discardable files in the storage device that can be deleted, and when such a file or file is found, the processor 320 deletes this file or files to expand the current free storage space f so that the total size of the expanded free storage space is equal to or greater than the predetermined size. A discardable file or file is deleted from the storage device 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, including, for example, 15). Can be.

자유 저장 공간이 충분히 확장된 후에, 프로세서(320)는 새로운 파일 이 확장된 자유 저장 공간에 저장되게 한다. "자유 저장 공간"이 충분히 확장되었다라는 것은 위에 언급된 요망되는 저장 사용 안전 마진을 좁히지 않고 총 자유 저장 공간이 새로운 파일을 수용할 수 있을 때까지, 또는 등가적으로, 확장된 자유 저장 공간의 총 크기가 소정의 크기와 같거나 이보다 클때까지, 또는 모든 폐기 가능 파일들이 제거될 때까지, 점유된 저장 공간을 차례로 비움으로써 자유 저장 공간을 확장하는 것을 의미한다.After the free storage space is fully expanded, the processor 320 causes the new file to be stored in the expanded free storage space. Expanded enough "free storage space" means that total free storage space can accommodate new files, or equivalently, until the total free storage space can accommodate new files without narrowing the desired storage usage margin mentioned above. By freeing the occupied storage space in turn, until the size is equal to or larger than the predetermined size, or until all discardable files are removed, it is meant to expand the free storage space.

프로세서(320)는 표준 기성 시스템-온-칩("SoC") 장치이거나 시스템-인-패키지("SiP") 장치일 수 있고, 또는 실행되었을 때 여기에 기술된 단계, 동작들 및 평가들을 수행하는 전용 소프트웨어를 가진 범용 처리장치일 수 있다. 대안적으로, 프로세서(320)는 하드웨어를 사용함으로써 여기에 기술된 단계, 동작들 및 평가들을 구현하는 애플리케이션 특정 집적 회로("ASIC")일 수 있다.Processor 320 may be a standard off-the-shelf system-on-chip (“SoC”) device or a system-in-package (“SiP”) device, or when executed, performs the steps, operations, and evaluations described herein. It may be a general purpose processing unit having dedicated software. In the alternative, the processor 320 may be an application specific integrated circuit (“ASIC”) that implements the steps, operations, and evaluations described herein by using hardware.

도 4는 한 가지 예시적인 실시예에 따라 폐기 가능 파일을 저장하는 방법이다. 도 4는 도 1에 관련하여 기술될 것이다. 단계(410)에서 호스트(140)는 저장 장치(100)에 파일(142)을 저장하라는 요청을 수신한다. 단계(420)에서 저장 할당기(144)는 파일을 "폐기 가능" 또는 "폐기 불가"로 표시하고, 단계(430)에서 자유 저장 공간(190)이 충분히 크다면 표시된 파일을 저장 장치(100)의 저장 제어기(120)에 보낸다(즉, 저장 영역(110)에 저장을 위해). 파일은 폐기 우선권 레벨이 파일에 할당되는 점에서도 표시된다. 단계(440)에서, 저장 할당기(144)는 표시된 파일에 기초하여, 선택적으로는 이미 표시된 하나 이상의 파일에도 기초하여, 저장 영역(110)(저장 제어기(120)와의 통신을 통해) 또는 저장 영역(110)에 저장되는 파일을 관리한다.Fig. 4 is a method of storing a discardable file according to an exemplary embodiment. 4 will be described with reference to FIG. 1. In operation 410, the host 140 receives a request to store the file 142 in the storage device 100. In step 420, storage allocator 144 marks the file as " disposable " or " non-disposable ", and if the free storage space 190 is large enough in step 430, the storage device 100 To storage controller 120 (ie, for storage in storage area 110). The file is also indicated in terms of the discard priority level assigned to the file. In step 440, storage allocator 144 is based on the displayed file, optionally based on one or more files already displayed, storage area 110 (via communication with storage controller 120) or storage area. Manage files stored in 110.

도 5는 한 가지 에시적인 실시예에 따라 저장 장치에 폐기 가능 파일의 저장을 관리하는 방법이다. 도 5는 도 1에 관련하여 기술될 것이다. 새로운 파일은 저장 장치(100)에 저장을 위한 후보이다. 저장 장치(100)의 파일 시스템(160)의 현재의 이미지를 알고 있으므로, 저장 할당기(144)는, 단계(510)에서, 현재의 크기가 f인 자유 저장 공간(190)이 새로운 파일(즉, 저장을 위한 후보인 파일)을 수용할 수 있는지를 알기 위해서 자유 저장 공간(190)의 현재의 크기 "f"를 평가한다. 일반적으로, 저장 할당기(144)가 새로운 파일을 취급하는 방법은 새로운 파일이 사용자 파일인지 아니면 발행자 파일인지에 달려있다. 그러므로, 저장 할당기(144)는 먼저 새로운 파일이 사용자 파일인지 아니면 발행자 파일인지를 판정한다.5 is a method of managing the storage of discardable files on a storage device according to one exemplary embodiment. FIG. 5 will be described with respect to FIG. 1. The new file is a candidate for storage in the storage device 100. Since the current image of the file system 160 of the storage device 100 is known, the storage allocator 144, at step 510, free storage space 190 whose current size is f is a new file (i.e. , The current size " f " of the free storage space 190 is evaluated to see if it can accommodate a file that is a candidate for storage. In general, how storage allocator 144 handles new files depends on whether the new file is a user file or a publisher file. Therefore, storage allocator 144 first determines whether the new file is a user file or a publisher file.

새로운 파일은 사용자 파일New file custom file

단계(520)에서, 저장 할당기(144)는 자유 저장 공간(190)이 새로운 사용자 파일을 수용할 수 있는지를 체크한다. 자유 저장 공간(190)이 새로운 사용자 파일을 수용할 수 있다면(단계(520)에서 "Y"로서 나타낸), 저장 할당기(144)는 단계(560)에서, 새로운 사용자 파일을 저장함으로써 요망되는 저장 사용 안전 마진이 협소해지는지 여부에 관계없이 자유 저장 공간(190)에 새로운 사용자 파일을 저장한다. 저장 할당기(144)가 자유 저장 공간(190)에 새로운 사용자 파일을 저장한 후에 요망되는 저장 사용 안전 마진이 협소해지게 되면(즉, 요망되는 저장 사용 안전 마진에 관하여), 저장 할당기(144)는 새로운 사용자 파일의 저장에 관하여 더 이상의 동작을 취하지 않는다.At step 520, storage allocator 144 checks whether free storage space 190 can accommodate the new user file. If free storage space 190 can accommodate the new user file (indicated as "Y" in step 520), storage allocator 144 stores the desired storage by storing the new user file in step 560. The new user file is stored in the free storage space 190 regardless of whether the safety margin for use is narrowed. After the storage allocator 144 stores the new user file in the free storage space 190 and the desired storage usage safety margin narrows (ie, with respect to the desired storage usage safety margin), the storage allocator 144 Does not take any further action with respect to the storage of the new user file.

그러나, 저장 할당기(144)이 자유 저장 공간(190)에 새로운 사용자 파일을 저장한 후에 요망되는 저장 사용 안전 마진이 협소해지게 되면, 단계(550)는 요망되는 저장 사용 안전 마진을 유지하기 위해서, 저장 할당기(144)가 어느 저장된 폐기 가능 파일이 먼저 삭제되고, 어느 저장된 폐기 가능 파일이 두 번째로 삭제될 것인지를 판정하는 추가의 단계를 포함한다. 저장 할당기(144)는 저장 할당기(144)가 저장된 폐기 가능 파일에 할당한 폐기 레벨들에 기초하여, 어느 저장된 폐기 가능 파일이 먼저 삭제되고, 어느 저장된 폐기 가능 파일이 두 번째로 삭제되는 등을 판정한다.However, after the storage allocator 144 stores the new user file in the free storage space 190 and the desired storage usage safety margin narrows, step 550 may be performed to maintain the desired storage usage safety margin. The storage allocator 144 further includes determining which stored discardable files are to be deleted first and which stored discardable files are to be deleted second. The storage allocator 144 is based on the discarding levels assigned by the storage allocator 144 to the stored disposable files, such that any stored disposable files are deleted first, which stored disposable files are deleted second, and so on. Determine.

자유 저장 공간(190)이 새로운 사용자 파일을 수용할 수 없는 것으로(단계(520)에서 "N"으로서 나탄낸) 저장 할당기(144)가 판정한다면, 저장 할당기(144)는 폐기 가능 파일에 의해 소비된 자유 저장 공간(190) 및 저장 공간이, 결합되었을 때, 새로운 사용자 파일을 저장하기에 충분한지를 단계(530)에서 판정한다. 결합된 저장 공간이 충분하지 않다면(단계(530)에서 "N"으로서 나탄낸), 이것은 아무리 많은 폐기 가능이 삭제되더라도 새로운 사용자 파일은 이것이 더 크기 때문에 "비-사용자" 저장 영역에 저장될 수 없음을 의미한다. 결합된 저장 공간이 충분하다면(단계(530)에서 "Y"으로서 나탄낸), 저장 할당기(144)은, 단계(540)에서, 새로운 사용자 파일을 위한 충분한 저장 공간을 비워두기 위해서, 저장된 폐기 가능 파일들 중에서 어느 폐기 가능 파일이 삭제될 수 있는지를 탐색한다. 위에 설명된 바와 같이, 저장 할당기(144)은 파일을 저장 장치의 파일 시스템에 폐기 불가 또는 폐기 가능로 표시하기 때문에, 저장 할당기(144)는 저장 장치(100)의 파일 시스템을 사용함으로써 이들 폐기 가능 파일을 탐색한다. 또한, 저장 할당기(144)에 의해서 표시된 파일에 할당된 폐기 레벨들은 각각의 폐기 레벨이 대응하는 표시된 파일에 연관되게 저장 장치의 파일 시스템에 내장된다.If storage allocator 144 determines that free storage space 190 cannot accommodate the new user file (provided as " N " in step 520), storage allocator 144 is assigned to the discardable file. It is determined in step 530 whether the free storage space 190 and the storage space consumed by it are sufficient to store a new user file when combined. If there is not enough combined storage (shown as "N" in step 530), this means that no matter how many discardables are deleted, the new user file cannot be stored in the "non-user" storage area because it is larger. Means. If the combined storage space is sufficient (shown as "Y" in step 530), storage allocator 144, at step 540, discards the stored discard to leave enough storage space for the new user file. Search for which discardable files of the possible files can be deleted. As described above, storage allocator 144 marks files as non-disposable or discardable in the file system of the storage device, so that storage allocator 144 uses them by using the file system of storage device 100. Search for discardable files. Furthermore, revocation levels assigned to a file indicated by storage allocator 144 are embedded in the file system of the storage device such that each revocation level is associated with a corresponding indicated file.

먼저 폐기할 폐기 가능 파일("DF")을 찾았을 때(이 파일을 이하 "DF1"이라 함), 저장 할당기(144)는 저장 공간(이 저장 공간을 이하 "SP1"이라 함)을 저장 공간(190)에 추가하거나, 회복하기 위해서 파일(DF1)을 삭제한다.When you first find a disposable file ("DF") to discard (this file is referred to as "DF1" below), storage allocator 144 stores the storage space (this storage space is referred to as "SP1" below). The file DF1 is deleted to add to the space 190 or to recover it.

그러면, 단계(550)에서, 저장 할당기(144)는 확장된 자유 저장 공간(190)(즉, 자유 저장 공간(190) + 마지막 회복된 저장 공간, 또는 f + SP1)이 새로운 사용자 파일을 수용할 수 있는지를 체크한다. 확장된 자유 저장 공간(190)(즉, f + SP1)이 여전히 새로운 사용자 파일을 수용할 수 없다면(단계(550)에서 "N"으로서 나타낸), 저장 할당기(144)는 추가의 저장 공간을 자유 저장 공간(190)에 회복시키기 위해서(즉, 삭제할 다음 폐기 가능 파일을 찾아 삭제함으로써), 단계(550)을 되풀이하여 반복한다(반복들이 555에 보였다).Then, at step 550, storage allocator 144 may have expanded free storage space 190 (i.e., free storage space 190 + last reclaimed storage space, or f + SP1) to accommodate the new user file. Check if you can. If the extended free storage space 190 (ie, f + SP1) still cannot accommodate the new user file (denoted as "N" in step 550), the storage allocator 144 allocates additional storage space. To recover to free storage space 190 (ie, by finding and deleting the next discardable file to delete), step 550 is repeated (repeats are shown at 555).

두 번째로 높은 폐기 우선권을 가진 다음 폐기 가능 파일을 발견하였을 때(다음 폐기 가능 파일을 이하 "DF2"라 함), 저장 할당기(144)는 추가의 저장 공간(추가의 저장 공간을 이하 "SP2"라 함)을 비워 자유 저장 공간(190)에 추가시키기 위해서 파일(DF2)를 삭제한다. 이어서, 단계(550)에서, 저장 할당기(144)는 확장된 자유 저장 공간(190)(즉, 자유 저장 공간(190) + 2개의 마지막 비워진 저장 공간, 또는 f + SP1 + SP2)이 새로운 파일을 수용할 수 있는지를 다시 체크한다. 확장된 자유 저장 공간(190)(즉, f + SP1 + SP2)이 여전히 새로운 파일을 수용할 수 없다면(단계(540)에서 "N"으로서 나타낸), 저장 할당기(144)는 삭제할 다음 폐기 가능 파일을 발견하기 위해서 1회 이상 단계(540)를 반복한다. 저장 할당기(144)는 누적된 자유 저장 공간(190)이 새로운 사용자 파일을 수용할 수 있을 때까지(단계(550)에서 "Y"로서 나타낸), 단계들(540, 550)을 반복한다. 이어서, 단계(560)에서, 저장 할당기(144) 는 저장 영역(110)에 새로운 사용자 파일을 저장한다.When the next discardable file with the second highest discarding priority is found (the next discardable file is referred to below as "DF2"), the storage allocator 144 adds additional storage space (additional storage space referred to as "SP2"). File DF2 is deleted to free it and add it to the free storage space 190. Subsequently, at step 550, storage allocator 144 has expanded free storage space 190 (i.e. free storage space 190 + two last freed storage spaces, or f + SP1 + SP2). Check again if it can accept If the extended free storage space 190 (ie, f + SP1 + SP2) still cannot accommodate the new file (indicated as "N" in step 540), storage allocator 144 may discard and then discard it. Repeat step 540 one or more times to find the file. Storage allocator 144 repeats steps 540 and 550 until the accumulated free storage space 190 can accommodate the new user file (indicated as " Y " in step 550). Next, at step 560, storage allocator 144 stores the new user file in storage area 110.

위에 언급된 바와 같이, 저장 할당기(144)가 새로운 사용자 파일을 자유 저장 공간(190)에 저장한 후에 실제 저장 사용 안전 마진이 요망되는 저장 사용 안전 마진 보다 협소해진다면, 단계(560)는 요망되는 저장 사용 안전 마진을 회복하기 위해서 어느 저장된 폐기 가능 파일이 먼저 삭제되고, 어느 저장된 폐기 가능 파일이 두 번째로 삭제되는 등을 저장 할당기(144)이 판정하는 추가의 단계를 포함할 수 있다.As mentioned above, if the storage allocator 144 stores the new user file in the free storage space 190 and the actual storage use safety margin becomes narrower than the desired storage use safety margin, step 560 is desired. The storage allocator 144 may include an additional step of determining which stored discardable files are deleted first, which stored discardable files are deleted second, and so on in order to recover the storage usage safety margin.

새로운 파일은 발행자 파일New file publisher file

새로운 파일이 발행자 파일이라면, 저장 할당기(144)는 자유 저장 공간(190)이 요망되는 저장 사용 안전 마진을 협소하게 함이 없이 새로운 발행자 파일을 수용할 수 있을 경우에만 새로운 발행자 파일을 저장 영역(110)에 저장한다(단계(560)에서). 즉, 새로운 발행자 파일을 저장하는 것이, 요망되는 저장 사용 안전 마진을 협소하게 하는 것을 초래한다면, 저장 할당기(144)는 새로운 발행자 파일을 저장 영역(110)에 저장하지 않기로 결정할 수 있다. 이러한 경우에, 저장 할당기(144)는 이 파일에 관하여 임의의 조치를 취하는 것을 그만두고, 새로운 발행자 파일을 위한 저장 공간을 비워두기 위해 저장 장치로부터 어떠한 파일도 삭제하지 않는다. 대안적으로, 저장 할당기(144)는 단계(540)에서, 낮은 폐기 우선권을 가진 폐기 가능 파일을 위한 저장 공간을 비워두기 위해서 하나 이상의 높은 우선권 폐기 가능 파일을 삭제할 수 있다. 위에 언급된 바와 같이, 파일은 표시되고, 저장 장치(100)의 파일 시스템에 폐기 레벨들이 삽입되며, 파일들이 표시되고, 파일 시스템에 폐기 레벨들이 삽입되는 방법은 사용되는 파일 시스템에 따르거나, 이에 맞게 수정될 수 있다.If the new file is a publisher file, storage allocator 144 stores the new publisher file only if free storage space 190 can accommodate the new publisher file without narrowing the desired storage usage margin. Save at 110 (at step 560). In other words, if storing a new publisher file results in narrowing the desired storage usage margin, storage allocator 144 may decide not to store the new publisher file in storage area 110. In this case, storage allocator 144 stops taking any action on this file and does not delete any files from the storage device to free storage space for the new publisher file. Alternatively, storage allocator 144 may delete one or more high priority discardable files in step 540 to free storage space for discardable files with low discard priority. As mentioned above, the file is displayed, the revocation levels are inserted into the file system of the storage device 100, the files are displayed, and the revocation levels are inserted into the file system depending on the file system used, or Can be modified to suit.

도 6은 한 가지 예시적인 실시예에 따라, FAT32-구조의 파일 시스템에 요구하지 않은 파일을 표시하는 방법이다. FAT32-구조의 파일 시스템들은 클러스터를 사용한다. FAT32-구조의 파일 시스템들에 관련하여 위에 기술된 바와 같이, FAT32 클러스터를 확인하기 위해 사용되는 비트의 수는 32이다. 도 6은 도 1에 관련하여 기술될 것이다.Fig. 6 is a method of displaying a file not required for a FAT32-structured file system, according to one exemplary embodiment. FAT32-structured file systems use clusters. As described above in connection with FAT32-structured file systems, the number of bits used to identify the FAT32 cluster is 32. FIG. 6 will be described with reference to FIG. 1.

단계(610)에서, FAT32의 각각의 클러스터의 32 비트의 m(m < 4) 개의 최상위 비트는, 경우에 따라 파일을 폐기 불가 또는 폐기 가능으로 표시하기 위해서, 그리고 각각의 폐기 가능 파일에 대해 대응하는 폐기 레벨을 유지하기 위해서 할당되거나 이를 위해 전용된다. 파일에 폐기 레벨을 할당하는 것은 대응하는 값을, 표시된 파일에 대응하는 할당된 m개의 비트에 설정함으로써 행해진다.In step 610, the 32-bit m (m < 4) most significant bits of each cluster of FAT32 correspond to the file as non-destructible or discardable, as appropriate, and for each discardable file. Is allocated to or maintained for maintaining the discard level. Assigning a discard level to a file is done by setting the corresponding value to the assigned m bits corresponding to the displayed file.

단계(620)에서, 저장 할당기(144)는 저장 장치(100)의 사용자가 요구하지 않은 파일을 사용할 가능성의 레벨을 평가한다. 파일을 사용할 가능성의 평가는 위탁판매 파일의 기술에 당업자에게 공지된 다양한 방법들로 구현될 수 있다. 예를 들어, 파일을 사용할 가능성의 평가는 저장 장치를 사용하는 사람의 위치를 모니터한 것에 기초할 수 있고, 및/또는 모니터된 사용자의 이전 경험 및 선호도들에 기초할 수 있다. 파일을 사용할 가능성의 평가는 예를 들어, FAT 표 또는 NTFS 표 내에 저장된 콘텐트의 유형(예를 들어, "광고 콘텐트", "프리미엄 콘텐트", "홍보 (자유) 콘텐트" 등)에 기초할 수도 있다. 저장 할당기(144)는 파일이 사용될 가능성을 평가하기 위해 대안적인 또는 추가의 기준들을 사용할 수 있다. 예를 들어, 마지막 액세스된 파일(들), 파일 크기, 파일 유형 등일 수 있거나 이들에 연관되는, 파일(들)의 속성들 또는 특징들을 사용할 수도 있다.In step 620, storage allocator 144 assesses the level of likelihood of using a file that has not been requested by a user of storage device 100. The assessment of the likelihood of using the file may be implemented in various ways known to those skilled in the art in the description of the consignment file. For example, the assessment of the likelihood of using the file may be based on monitoring the location of the person using the storage device and / or based on previous experiences and preferences of the monitored user. The assessment of the likelihood of using a file may be based on, for example, the type of content stored in the FAT table or the NTFS table (eg, “advertisement content”, “premium content”, “publicity (free) content”, etc.). . Storage allocator 144 may use alternative or additional criteria to assess the likelihood that a file will be used. For example, attributes or features of the file (s) may be used, which may be or associated with the last accessed file (s), file size, file type, and the like.

사용자가 요구하지 않은 파일을 사용할 가능성의 레벨을 저장 할당기(144)가 평가한 후에, 저장 할당기(144)는, 단계(630)에서, 요구하지 않은 파일의 사용의 평가된 가능성 레벨에 대응하는 폐기 우선권 레벨을 할당한다. 요구하지 않은 파일이 저장 장치(100)의 사용자에 의해 사용할 가능성이 높을수록 폐기 레벨은 더 낮아진다.After storage allocator 144 evaluates the level of likelihood of using a file that the user did not request, storage allocator 144, at step 630, corresponds to the estimated likelihood level of use of the unsolicited file. Assigns a discarding priority level. The higher the likelihood that an 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)에서, 1 내지 15 사이의 대응하는 값을 요구하지 않은 파일에 연관된 클러스터의 4개의 최상위 비트에 설정한다. 요구하지 않은 파일이 이를 2 이상의 클러스터들에 연관시켰다면, 각각의 클러스터 내 4개의 최상위 비트는 동일한 값으로 설정된다.If m is equal to 4 bits, this means providing 15 discard levels with a discard scale of 1 (ie 0001) to 15 (ie 1111). That is, discard level 0 will be assigned to all non-destructible files, discard level 1 will be assigned to discardable files with the lowest discard priority, and discard level 15 will be assigned to discardable files with the highest discard priority. . After storage allocator 144 assigns a file that does not require a corresponding discard level, storage allocator 144, in step 640, is associated with a file that did not require a corresponding value between 1 and 15. Set to the four most significant bits of the cluster. If an unsolicited file associates it with two or more clusters, the four most significant bits in 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), another file is evaluated in the manner described above. If the unsolicited file is the last file that needs to be evaluated (indicated as "Y" in step 650), the unsolicited file (s) each have an m bit whose value has been set in step 640. Are sent 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 논리 클러스터를 나타낸다.7 is a directory table 700 associated with a FAT32 table. Directory table 700 is only a partial table used for illustration, so table 700 does not show all the fields of a FAT directory entry. Directory area 700 maintains details of files that are stored in the associated file system, such as file names, file sizes, and where each file begins in the associated file system. The details of the file are kept in the following fields. Field 710 holds the disk operating system ("DOS") file names of the file stored in the file system concerned, field 720 holds the file's extension, field 730 holds the various attributes of the file, Field 740 holds the high 16-bitword of the first cluster number ("FCN") of the file, field 750 holds the lower portion of the first cluster number ("FCN") of the file, and the field 760 maintains the size of the file. Each FCN number represents a first logical cluster where a file can be found.

디렉토리 영역(700)의 제 1 엔트리는 "REALFILE"(770으로 나타낸)이라고 하는 파일에 대한 정보를 유지한다. REALFILE(770)은 파일 확장자 "DAT"을 가지며, 이의 FCN은 "0000 0002"(755로 나타냄)이며, 이의 크기는 "0000 24E4"이다. 테이블(700)에서 숫자는 16진수 값들로 나타내었다. 표준의 일부로서, 속성값들 "00"(780로 나타낸) 및 "20"(도 7에 나타내지 않음)은 "정규" 파일을 지칭하며, 속성값 "02"은 파일 시스템에서 감추어진 파일을 지칭한다. 파일명 "\xE5Consign"은 삭제된 파일을 나타내며, "\xE5"은 파일명의 첫번째 바이트의 값이 hex로 E5임을 의미한다. 예로서, FCN 수 0000 0002(755로 나타냄)은 파일 REALFILE의 첫번째 클러스터를 지칭한다.The first entry of directory area 700 holds information about a file called "REALFILE" (denoted 770). REALFILE 770 has a file extension "DAT" whose FCN is "0000 0002" (denoted by 755) and its size is "0000 24E4". In table 700, numbers are represented as hexadecimal values. As part of the standard, attribute values "00" (indicated by 780) and "20" (not shown in FIG. 7) refer to "normal" files, and attribute value "02" refers to files hidden in the file system. do. The file name "\ xE5Consign" indicates a deleted file, and "\ xE5" means that the value of the first byte of the file name is hex and E5. As an example, the FCN number 0000 0002 (denoted 755) refers to the first cluster of the file REALFILE.

도 8은 실시예에 따른 부분적 FAT32 테이블(800)이다. FAT32 테이블(800)은 더블-워드("DWORD") 어레이로서 도시되었고, 값들은 16진수 값들이다. 참조부호 810은 FAT32 테이블(800)을 유지하는 장치의 유형을 지칭하며, "F8"은 하드드라이브를 지칭한다. FAT32 테이블(800)은 클러스터 #1(820로 나타낸), 클러스터 #2(825로 나타낸),..., 및 클러스터 #23(830으로 나타낸)로서 지칭된 23개의 클러스터를 포함한다. 도 8을 도 7에 관련하여 기술한다. FAT32 테이블(800)에서 클러스터는 파일의 제 1 클러스터일 수 있고, 또는 파일의 다음 링크된 클러스터를 가리킬 수 있으며, 또는 엔드-오브-파일 ("EOF") 표시일 수도 있다.8 is a partial FAT32 table 800 according to an embodiment. FAT32 table 800 is shown as a double-word ("DWORD") array, where the values are hexadecimal values. Reference numeral 810 denotes the type of device that holds the FAT32 table 800, and "F8" refers to the hard drive. FAT32 table 800 includes 23 clusters referred to as cluster # 1 (shown 820), cluster # 2 (shown 825), ..., and cluster # 23 (shown 830). FIG. 8 is described with reference to FIG. 7. The cluster in FAT32 table 800 may be the first cluster of files, or may point to the next linked cluster of files, or may be an end-of-file (“EOF”) representation.

다시 디렉토리 영역(700)을 참조하면, 디렉토리 영역(700)의 제 1 FCN(770로 나타낸)은 "0000 0002"이며(755로 나타낸), 이것은 도 8의 테이블(800)에서 클러스터 #2를 가리킨다. 도 8에 도시된 바와 같이, 클러스터 #2의 값(즉, 값 "000 0003")은 다음 파일의 클러스터인 클러스터 #3을 가리킨다(840로 나타낸). 마찬가지로, 클러스터 #3의 값(즉, "0000 0004")은 다음 파일의 클러스터인 클러스터 #4를 가리킨다. 클러스터 #4는 값 "OFFF FFFF"("F"는 십진수 값 "15"을 나타내는 16진수 디지트이다)을 가지며, "FFF FFFF"(850로 나타낸)는 파일의 EOF 표시를 나타내며, 제로 값(860으로 나타낸)은 폐기 레벨 0을 나타낸다. 그러므로, 파일 REALFILE은 이를 3개의 클러스터들(즉, 클러스터 #2, 클러스터 #3, 클러스터 #4)에 연관시켰다.Referring back to directory area 700, the first FCN (indicated by 770) of directory area 700 is " 0000 0002 " (indicated by 755), which indicates cluster # 2 in table 800 of FIG. . As shown in Figure 8, the value of cluster # 2 (i.e., the value "000 0003") points to cluster # 3, which is the cluster of the next file (indicated by 840). Similarly, the value of cluster # 3 (ie, "0000 0004") points to cluster # 4, which is the cluster of the following files. Cluster # 4 has the value "OFFF FFFF" ("F" is a hexadecimal digit representing the decimal value "15"), and "FFF FFFF" (denoted 850) represents the EOF representation of the file, and a zero value (860). Denotes a discard level 0. Therefore, the file REALFILE associates it with three clusters (ie cluster # 2, cluster # 3, cluster # 4).

위에 설명된 바와 같이, 폐기 레벨 0은 폐기 불가 파일에 할당된다. 특정 파일의 각각의 클러스터의 최상위 16진수 디지트는 이 파일에 할당되는 동일 폐기 우선권 레벨에 설정됨에 유의한다. 예를 들어, 파일 REALFILE은 폐기 레벨 "0"이 할당되었으며, 그러므로 클러스터들 #2, #3, 및 #4의 최상위 16진수 디지트들 각각은 이 값을 갖는다(즉, 값 "0", 및 "0" 값들에 밑줄이 그어졌다). 또 다른 예에 따라, FCN이 "0000 0005"(도 7에 도시된 바와 같이)인 파일 "E5 Consign"은 폐기 우선권 레벨 "1"이 할당되었다. 그러므로, 이 파일에 속하는 클러스터들 #5 내지 12 각각의 최상위 16진수 디지트는 값 "1"을 갖는다(예를 들어, 870로 나타낸 바와 같이). 즉, 본 개시된 바에 따라, 최상위 16진수 디지트, 또는 등가적으로, 특정 폐기 가능 파일에 연관된 클러스터의 4개의 최상위 비트는 특정 파일에 할당된 폐기 우선권 레벨에 대응하는 동일한 값에 설정된다. 위에 설명된 바와 같이, 폐기 우선권 레벨을 나타내기 위해 사용되는 최상위 비트의 수 m은 4가 아닐 수 있다(즉, m ≤ 4).As described above, discard level 0 is assigned to a non-cancelable file. Note that the highest hexadecimal digit of each cluster of a particular file is set to the same discarding priority level assigned to this file. For example, file REALFILE has been assigned revocation level "0", so each of the most significant hexadecimal digits of clusters # 2, # 3, and # 4 have this value (ie, values "0", and "). 0 "values are underlined). According to another example, file "E5 Consign" with FCN "0000 0005" (as shown in Figure 7) has been assigned a revocation priority level "1". Therefore, the most significant hexadecimal digit of each of clusters # 5-12 belonging to this file has the value "1" (eg, as indicated by 870). That is, as disclosed herein, the most significant hexadecimal digit, or equivalently, the four most significant bits of the cluster associated with a particular discardable file are set to the same value corresponding to the discard priority level assigned to the particular file. As described above, the number m of most significant bits used to indicate the discard priority level may not be four (ie, m ≦ 4).

도 9는 실시예에 따른 부분적 NTFS 테이블(900)이다. NTFS 테이블(900)은 파일 이름, 파일 크기 등과 같은 파일의 상세를 유지한다. NTFS 테이블(900)은 "정규" 데이터 흐름에 따라 변하는 파일에 대해 "통상의" 데이터(예를 들어, 데이터(920))를 유지하기 위해 데이터 필드(910)을 포함한다. 본 개시된 바에 따라, NTFS 테이블(900)은 각각의 평가된 파일에 대해 폐기 정보(예를 들어, 폐기 정보(930))을 유지하기 위한 "폐기 정보" 필드(915)를 포함한다. 폐기 정보 필드(915)는 폐기 우선권 레벨 이외의 정보도 포함할 수 있다. 예를 들어, 폐기 정보 필드(915)는 파일을 공급한 서버에 속하는 정보 및 만기 시간(이후 파일은 폐기되어야 함)을 포함할 수 있다. FAT-기반 파일 시스템과 달리, NTFS-기반 파일 시스템들에서, 폐기 가능 파일에 할당된 폐기 값들은 한 세트의 비트에 의해 지시되는 최대 수로 제한되지 않는다. 이것은 폐기 값들의 범위가 자유롭게 선택될 수 있음을 의미한다. 예를 들어, 폐기 값들은 1 내지 25의 범위일 수 있다. NTFS는 대표적 비-FAT 파일 시스템이다. 일반적으로, 대응하는 폐기 값들은 표시된 파일에 대응하는 비-FAT 기반의 파일 시스템 엔트리들에 데이터 필드에 설정될 수 있다.9 is a partial NTFS table 900 according to an embodiment. NTFS table 900 maintains details of files such as file names, file sizes, and the like. NTFS table 900 includes data fields 910 to hold "normal" data (e.g., data 920) for files that change in accordance with "normal" data flow. As disclosed herein, NTFS table 900 includes a "Discard Information" field 915 for holding revocation information (e.g., revocation information 930) for each evaluated file. The revocation information field 915 may also include information other than the revocation priority level. For example, the discard information field 915 may include information pertaining to the server that supplied the file and the expiration time (the file should be discarded afterwards). Unlike FAT-based file systems, in NTFS-based file systems, discard values assigned to discardable files are not limited to the maximum number indicated by a set of bits. This means that the range of discard values can be chosen freely. For example, the discard values may range from 1 to 25. NTFS is a representative non-FAT file system. In general, corresponding discard values may be set in the data field in non-FAT based file system entries corresponding to the indicated file.

도 10은 실시예에 따른 저장 장치의 파일 시스템(1000)의 논리 배열이다. 저장 할당기(예를 들어, 도 1의 저장 할당기(144))는 이것이 동작하는 저장 장치의 파일 시스템(1000) 또는 파일 시스템(1000)의 이미지를 유지하거나, 저장 할당기은 파일 시스템(1000)에 액세스할 수도 있다.10 is a logical arrangement of a file system 1000 of a storage device according to an embodiment. The storage allocator (eg, storage allocator 144 of FIG. 1) maintains an image of the file system 1000 or file system 1000 of the storage device on which it operates, or the storage allocator is a file system 1000. You can also access

파일 시스템(1000)은 부트 섹션(1010), 파일 시스템(1000)에 연관된 FAT(1020), 디렉토리 테이블들(1030), 파일들 영역(1040), 및 폐기 가능 파일들 영역(1050)을 포함한다. FAT(1020)는 폐기 가능 파일의 폐기 우선권 레벨들을 내포하는 폐기 가능 파일들 할당 영역(1025)을 포함한다. 디렉토리 테이블(1030)은 저장 장치에 어떤 파일(즉, 폐기 가능 파일 및/또는 폐기 불가 파일)이 저장되든 이에 액세스하기 위한 액세스 정보를 포함한다. 파일 영역(1040)은 폐기 불가 파일을 내포한다. 인덱스 및 데이터베이스 영역(1045)은 폐기 가능 파일을 위한 인덱스 및 폐기 가능 파일에 관계된 메타데이터를 유지한다. 인덱스 및 데이터베이스 영역(1045)에 유지된 인덱스 및 메타데이터는 폐기 레벨을 계산하기 위해 사용되나 이들은 실제 폐기 프로세스 동안 요구되지 않는다. 폐기 가능 파일 영역(1050)은 폐기 가능 파일을 유지한다.File system 1000 includes a boot section 1010, a FAT 1020 associated with file system 1000, directory tables 1030, files area 1040, and discardable files area 1050. . FAT 1020 includes a discardable files allocation area 1025 that contains discard priority levels of discardable files. The directory table 1030 includes access information for accessing what files (ie, discardable files and / or non-discardable files) are stored on the storage device. File area 1040 contains a non-discardable file. Index and database area 1045 maintains metadata related to indexes and discardable files for discardable files. Indexes and metadata maintained in the index and database area 1045 are used to calculate the discard level but they are not required during the actual discard process. Discardable file area 1050 holds 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로 나타낸)이다. 발행자가 저장 영역(110)에 3개의 요구하지 않은 파일을 저장하기를 원하는 것으로 가정한다. 위에 기술된 바와 같이, 저장 할당기(144)는 저장 영역(110)에 발행자의 3개의 요구하지 않은 파일을 저장하는 것이 장래의 사용자의 파일용으로 유보해 둔 요망되는 저장 사용 안전 마진(1130로 나타낸)을 협소하게 할 것인지를 판정하기 위해서, 저장 장치(100) 내 자유 저장 공간(190)(또는 1120에 f)의 크기를 평가한다. 발행자의 3개의 요구하지 않은 파일을 저장하는 것이 저장 사용 안전 마진(1130)(즉, 요망되는 저장 사용 안전 마진)을 협소해지게 할 것이라면, 저장 할당기(144)은 이들 파일을 저장하는 것을 그만둘 것이다.11 illustrates a file management method according to the present disclosure. FIG. 11 will be described with respect to FIG. 1. Assume 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. Since the total storage capacity of the storage area 110 is T (indicated by 1110) and the files F1 and F2 are stored in the storage device 100, the size of the remaining free storage space 190 (see FIG. 1) is f (indicated by 1120). Assume that the publisher wants to store three unsolicited files in storage area 110. As described above, storage allocator 144 stores the desired unused storage safety margin 1130 in which storage of the publisher's three unsolicited files in storage area 110 is reserved for future users' files. To determine whether to narrow the), the size of the free storage space 190 (or 1120 f) in the storage device 100 is evaluated. If storing the publisher's three unsolicited files would narrow the storage use safety margin 1130 (ie, the desired storage use margin), storage allocator 144 stops storing these files. Will be placed.

이 예에서, 저장 할당기(144)는 저장 사용 안전 마진(1130)을 감소시킴이 없이 발행자의 3개의 요구하지 않은 파일들이 저장 영역(110)에 저장될 수 있는 것으로 판정한다. 그러므로, 시간 T1에서 저장 할당기(144)는 저장 제어기(120)가 저장 영역(110)에 발행자의 3개의 요구하지 않은 파일을 저장하게 한다. 3개의 발행자의 요구하지 않은 파일은 "P1", "P2", 및 "P3"로 표시되었다. 또한 저장 할당기(144)는 파일들(P1, P2, P3)이 저장 장치(100)의 사용자에 의해 사용될 확률을 판정하고, 대응하는 폐기 레벨을 이들 파일 각각에 할당한다. 이어서, 저장 할당기(144)는 파일에 할당된 폐기 레벨들을 도 8에 도시된 바와 같이, FAT 테이블에, 또는 도 9에 도시된 바와 같이, NTFS 테이블에 저장한다.In this example, storage allocator 144 determines that the publisher's three unsolicited files can be stored in storage area 110 without reducing storage usage safety margin 1130. Therefore, at time T1 storage allocator 144 causes storage controller 120 to store the three unsolicited files of the publisher in storage area 110. Unsolicited files from three publishers have been labeled "P1", "P2", and "P3". The storage allocator 144 also determines the probability that the files P1, P2, P3 will be used by the user of the storage device 100 and assigns a corresponding discard level to each of these files. Storage allocator 144 then stores the discard levels assigned to the file in a FAT table, as shown in FIG. 8, or in an NTFS table, as shown in FIG. 9.

시간 T2에서, 저장 장치(100)의 사용자는 저장 영역(110)에 2 이상의 파일들(즉, 파일 "F3" 및 "F4")을 저장하기를 원한다. 저장 할당기(144)은 추가의 파일들(즉, 파일들(F3 및 F4))을 저장할 충분한 저장 공간이 저장 영역(110)에 있는지를 판정하기 위해서 저장 장치(100) 내 자유 저장 공간(190)의 크기(또는 1120에 f)를 재평가한다. 이 예에서 저장 할당기(144)는 현재 자유 저장 공간이 파일들(F3, F4)을 수용할 수 있는 것으로 판정한다. 그러므로, 시간 T2에서, 저장 할당기(144)는 저장 제어기(120)가 저장 영역(110)에 파일들(F3, F4)을 저장할 수 있게 한다.At time T2, the user of storage device 100 wants to store two or more files (ie, files "F3" and "F4") in storage area 110. Storage allocator 144 is free storage space 190 in storage device 100 to determine if there is sufficient storage space in storage area 110 to store additional files (ie, files F3 and F4). Re-evaluate the size (or f at 1120). In this example, storage allocator 144 determines that the current free storage space can accommodate files F3 and F4. Therefore, at time T2, storage allocator 144 enables storage controller 120 to store files F3 and F4 in storage area 110.

파일(F3, F4)은 사용자 파일이기 때문에, 파일들(F3, F4)이 저장 장치(100)의 사용자에 의해 사용될 확률은 사용자가 파일들(F3, F4)을, 사용한다할지라도, 얼마나 많은 횟수로 사용할지에 관계없이 사용자 파일들이 발행자 파일에 대해 저장 우선권을 갖기 때문에 무관하다. 따라서, 저장 할당기(144)는 폐기 레벨 "0"을 파일들(F3, F4)에 할당하고, 할당된 폐기 레벨을 도 8에 도시된 바와 같이 FAT 테이블에, 또는 도 9에 도시된 바와 같이 NTFS 테이블에 저장한다.Since files F3 and F4 are user files, the probability that files F3 and F4 will be used by the user of storage device 100 is how many, even if the user uses files F3 and F4. This is irrelevant because user files have storage priority over publisher files, regardless of how many times they are used. Thus, storage allocator 144 assigns discard level " 0 " to files F3 and F4, and assigns the assigned discard level to a FAT table as shown in FIG. 8, or as shown in FIG. Store in an NTFS table.

시간 T3에서, 저장 장치(100)의 사용자는 또 다른 파일(즉, 파일 "F5")을 저장 영역(110)에 저장하기를 원한다. 저장 할당기(144)는 추가의 파일들(즉, 파일들(F5))을 저장할 충분한 저장 공간이 저장 영역(110)에 있는지를 판정하기 위해서 저장 장치(100) 내 자유 저장 공간(190)의 크기(또는 1120에 f)를 재평가한다. At time T3, the user of storage device 100 wants to store another file (ie, file “F5”) in storage area 110. Storage allocator 144 is configured to determine whether there is sufficient storage space in storage area 110 to store additional files (i.e., files F5). Reevaluate size (or f at 1120).

이 예에서, 저장 할당기(144)는 현재 자유 저장 공간이 파일(F5)을 수용할 수 있는 것으로 판정한다. 그러므로, 시간 T3에서, 저장 할당기(144)는 저장 제어기(120)가 저장 영역(110)에 파일(F5)을 저장할 수 있게 한다. 도 11에 도시된 바와 같이, 사용자 파일(F5)을 저장하는 것은 저장 사용 안전 마진을 좁아지게 한다. 즉, 파일들(F1 내지 F5 및 P1 내지 P3)이 저장 영역(110)에 저장된 후에 남는 저장 영역(110)에 자유 저장 공간 f은 저장 사용 안전 마진(1130)보다 작다. 그러므로, 저장 할당기(144)는 발행자의 파일들(즉, P1, P2, P3) 중 하나를 제거함으로써 저장 사용 안전 마진을 복원 또는 회복한다. 위에 설명된 바와 같이, 사용자 파일들이 최고의 저장 우선권을 갖기 때문에, 저장 사용 안전 마진은 하나 이상의 발행자 파일을 제거(즉, 삭제)함으로써 복원 또는 회복된다.In this example, storage allocator 144 determines that the current free storage space can accommodate file F5. Therefore, at time T3, storage allocator 144 enables storage controller 120 to store file F5 in 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. Therefore, storage allocator 144 restores or recovers a storage usage safety margin by removing one of the publisher's files (ie, P1, P2, P3). As described above, because the user files have the highest storage priority, the storage use safety margin is restored or recovered by removing (ie, deleting) one or more publisher files.

위에 기술된 바와 같이, 발행자 파일 또는 발행자 파일들이 저장 영역(110)로부터 제거될 것이라는 판단은 저장 할당기(144)이 각각의 저장된 폐기 가능 파일에 할당한 폐기 우선권 레벨에 기초하여 저장 할당기(144)에 의해 행해진다.As described above, the determination that the issuer file or issuer files will be removed from the storage area 110 is determined by the storage allocator 144 based on the discard priority level assigned by the storage allocator 144 to each stored discardable file. ) Is performed.

다시 도 11로 돌아가서, 저장된 발행자 파일들(P1 내지 P3) 중에서 발행자 파일(P3)은 가장 높은 폐기 우선권 레벨(예를 들어, 13)이 할당되었던 것으로 가정한다. 그러므로, 시간 T4에서, 파일(P3)은 저장 영역(110)로부터 제거되고, 이에 따라 자유 저장 공간(190)이 커지게 한다. 시간 T4에서 자유 저장 공간(190)(또는 1120에서 f)의 크기는 저장 사용 안전 마진(1130)보다 크기 때문에, 더 이상의 어떠한 발행자 파일들도 제거할 필요가 없다.Returning to FIG. 11 again, it is assumed that among the stored publisher files P1 to P3, the publisher file P3 has been assigned the highest revocation priority level (eg, 13). Therefore, at time T4, file P3 is removed from storage area 110, thereby making free storage space 190 large. Since the size of the free storage space 190 (or f at 1120) at time T4 is larger than the storage usage safety margin 1130, no further publisher files need to be removed.

저장 장치(100)의 사용자는 하나 이상의 사용자 파일을 제거하기를 원할 수 있다. 시간 T5에서, 사용자는 자신의 파일들 중 두 개(즉, 파일들(F4, F5))를 제거하였으며, 이에 따라 자유 저장 공간(190)이 더 커지게 하였다. 여기에서 언급된 바와 같이, 자유 저장 공간을 회복하거나 저장 사용 안전 마진을 회복하는 것은 필요한 만큼 많이 폐기 가능 파일을 제거함으로써 행해지기 때문에, 파일들(F4, F5)의 제거는 자유 저장 공간(190) 또는 저장 사용 안전 마진의 크기와는 관련이 없다. 발행자가 저장 영역(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 (i.e., files F4 and F5), thus freeing up storage space 190 larger. As mentioned herein, restoring free storage space or restoring storage usage safety margins is done by removing as many disposable files as necessary, so that removal of files F4 and F5 is free storage space 190. Or the size of the storage use safety margin. Assume that the publisher wants to store another unsolicited file in storage area 110. As described above, storage allocator 144 uses free storage space to determine whether storing unsolicited files of issuers in storage area 110 will narrow storage use safety margin 1130. Evaluate the size of 190 (or f at 1120). If saving the publisher's new unsolicited file would narrow the storage usage safety margin 1130, storage allocator 144 would stop saving this file.

이 예에서 저장 할당기(144)는 저장 사용 안전 마진(1130)을 감소시킴이 없이 발행자의 새로운 요구하지 않은 파일 (즉, 파일 "P4")이 저장 영역(110)에 저장될 수 있는 것으로 판정한다. 그러므로, 시간 T6에서, 저장 할당기(144)는 저장 제어기(120)이 발행자의 파일(P4)를 저장 영역(110)에 저장하게 한다. 또한 저장 할당기(144)는 파일(P4)이 저장 장치(100)의 사용자에 의해 사용될 확률을 판정하고, 대응하는 폐기 레벨을 이 파일에 할당한다. 이어서, 저장 할당기(144)는 파일(P4)에 할당된 폐기 레벨을 도 8에 도시된 바와 같이 FAT 테이블에, 또는 도 9에 도시된 바와 같이, NTFS 테이블에 저장한다. 새로운 발행자의 파일들 및 새로운 사용자 파일을 저장하고 저장된 파일을 제거하는 프로세스는 새로운 파일이 저장 영역(110)에 추가되어야 할 때마다 저장 할당기(144)가 자유 저장 공간(190)의 현재의 크기를 평가하고 저장 영역(110)으로부터 어느 발행자 파일 또는 파일들(있다면)이 제거되어야 하는지를 판정하는 동안 계속될 수 있다.In this example, storage allocator 144 determines that the publisher's new unsolicited file (ie, file "P4") can be stored in storage area 110 without reducing storage usage safety margin 1130. do. Therefore, at time T6, storage allocator 144 causes storage controller 120 to store the publisher's file P4 in 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 in the NTFS table as shown in FIG. The process of storing new publisher's files and new user files and removing stored files means that the storage allocator 144 has a current size of the free storage space 190 each time a new file needs to be added to the storage area 110. Can be continued while evaluating and determining which publisher file or files (if any) from storage area 110 should be removed.

폐기 레벨을 폐기 가능 파일에 할당하는 것은 사용자 경험 또는 선호도들에 기초할 수도 있고, 사용자의 GPS(Global Positioning System) 위치에 기초할 수도 있고, 및/또는 다른 기준들에 기초할 수도 있다. 예를 들어, 저장 장치의 사용자가 어떤 유형의 음악을 좋아할 것으로 보인다면(이전의 사용자 경험에 기초하여), 저장 할당기는 발행자의 파일이 사용자가 좋아하는 유형의 음악 중 하나인 음악을 내포한다면 발행자의 파일에 비교적 낮은 폐기 우선권 레벨(예를 들어, 1 내지 15의 스케일에서 3)을 할당할 수 있다. 그러나, 발행자의 음악을 사용자가 좋아하지 않는다면(이전의 사용자 경험에 기초하여), 저장 할당기는 관계된 발행자의 파일에 더 높은 폐기 우선권 레벨(예를 들어, 1 내지 15의 스케일에서 12)을 할당할 수 있다. 폐기 레벨을 폐기 가능 파일에 할당하기 위해 사용되는 기준은 파일의 예상된 사용, 파일을 사용하는 것에 연관된 예상 수익, 파일의 유형, 파일의 크기, 저장 장치 내 파일의 위치, 파일의 저장 기간, 및 여기에 명시된 바와 같은 그외 기준 또는 파라미터를 포함할 수 있다. 단독으로든 아니면 여기에 언급된 기준들 중 어느 기준과 조합하든 다른 기준들도 마찬가지로 사용될 수 있고, 폐기 레벨들의 할당은 하나 이상의 기준들을 사용하여 행해질 수 있다. 또한, 서로 다른 폐기 가능 파일에 폐기 레벨을 할당하기 위해 다른 기준이 사용될 수도 있다.Assigning a discard level to a discardable file may be based on user experience or preferences, may be based on the user's Global Positioning System (GPS) location, and / or may be based on other criteria. For example, if a user of the storage device seems to like some type of music (based on previous user experience), the storage allocator will issue the publisher if the publisher's file contains music that is one of the user's favorite types of music. It is possible to assign a relatively low discard priority level (e.g., 3 on a scale of 1 to 15) to a file. However, if the user does not like the publisher's music (based on previous user experience), the storage allocator may assign a higher discard priority level (e.g., 12 on a scale of 1 to 15) to the file of the publisher concerned. have. The criteria used to assign the discard level to a discardable file include the expected use of the file, the estimated revenue associated with using the file, the type of file, the size of the file, the location of the file within the storage device, the storage period of the file, and Other criteria or parameters as specified herein may be included. Other criteria, either alone or in combination with any of the criteria mentioned herein, can likewise be used, and the assignment of revocation levels can be done using one or more criteria. In addition, different criteria may be used to assign discard levels to different discardable files.

다른 예에서, 발행자가 사용자에게 위치-종속적 광고(즉, 특정 지역 내에서 시연된 제품 또는 서비스에 관계된 광고)을 보내기를 원한다면, 저장 할당기는 사용자의 변하는 위치에 따라 변하는 발행자의 광고에 폐기 우선권 레벨을 할당할 수 있다. 즉, 특정 지역에서 벗어나는 것은 사용자가 특정 지역에서 시연된 제품 또는 서비스를 소비하는데 관심이 없는 것으로 상정할 수 있기 때문에, 사용자가 특정 위치로부터 더 멀어질수록, 폐기 레벨은 더 높아지게 될 것이다.In another example, if a publisher wants to send a location-dependent advertisement to a user (ie, an advertisement related to a product or service demonstrated within a particular region), the storage allocator assigns a discard priority level to the publisher's advertisement that varies with the user's changing location. Can be assigned. That is, deviating from a particular area may assume that the user is not interested in consuming a product or service demonstrated in a particular area, so the further the user is away from a particular location, the higher the disposal level will be.

위에 기술된 바와 같이, 폐기 가능 파일에 대한 클러스터 체인들은 FAT32 엔트리에 연관된 파일을 폐기 가능 파일로서 확인하는 플래그와 함께 FAT에 기록된다. 전형적으로, 플래그는 각각의 FAT32 엔트리에 4개의 최상위 비트에 있다. 클러스터 체인들은 폐기 가능 파일에 할당될 수 있으나 이들에 연관된 폐기 불가 파일은 갖지 않기 때문에, chkdsk 또는 fsck.vfat와 같은 유틸리티가 폐기 가능 파일을 "real" 파일들이라고도 알려진 폐기 불가 파일로 바꾸어, 파일 시스템(160)의 보안을 감소시키는 것이 가능하다. 또한, 일부 FAT 복구 유틸리티들이 FAT32 엔트리들에 폐기 가능-파일 플래그들을 리셋시킬 위험이 있다. FAT32 파일 시스템 체크 및 수선 유틸리티들은 흔히 파일 시스템을 적용하고 공통 오류들을 바로잡기 위해 규칙들을 적용한다. 일반적으로, 이들 유틸리티들은 디렉토리 테이블들 내에 제 1 클러스터 수(FCN) 란에 대응하는 엔트리가 없는 클러스터 체인들을 FAT에서 찾을 수 있다. 유틸리티들은 어떠한 디렉토리 또는 파일 엔트리들도 갖고 있지 않은 FAT에 클러스터 할당들을 묘연한 데이터 프레그먼트들(고아(orphan) 클러스터들이라고도 알려진)로서 취급하며, 유틸리티들은 이들 고아 클러스터를 삭제하거나 디렉토리 테이블에 대응하는 파일 엔트리를 생성할 수 있다. 여기에 기술된 폐기 가능 파일 시스템은 고아 클러스터로서 간주될 수도 있었을 것을 이용할 수 있기 때문에, 유틸리티들은 적절하지 않게 폐기 가능 파일을 폐기 불가 파일로 바꾸거나 폐기 가능 파일을 완전히 제거할 수도 있다.As described above, cluster chains for discardable files are written to the FAT with a flag identifying the file associated with the FAT32 entry as a discardable file. Typically, the flag is in the four most significant bits in each FAT32 entry. Because cluster chains can be assigned to discardable files but do not have any non-disabled files associated with them, utilities such as chkdsk or fsck.vfat replace the discardable files with non-disposable files, also known as "real" files, so that the file system It is possible to reduce the security of 160. Also, there is a risk that some FAT recovery utilities will reset the discardable-file flags on FAT32 entries. FAT32 file system check and repair utilities often apply file systems and apply rules to correct common errors. In general, these utilities can find cluster chains in the FAT that do not have an entry corresponding to the first cluster number (FCN) field in the directory tables. Utilities treat cluster assignments as FAT data fragments (also known as orphan clusters) in a FAT that does not have any directory or file entries, and the utilities delete these orphan clusters or correspond to directory tables. You can create a file entry. Because the disposable file system described herein may utilize what might have been considered an orphaned cluster, utilities may inappropriately replace a disposable file with a non-disposable file or completely remove the disposable file.

이들 문제들을 해결하기 위해서, 일부 구현에서, 저장 할당기(144)는 폐기 가능 파일을 주 FAT 내 클러스터 체인에 연관시킬 수 있고, 클러스터 체인은 폐기 가능 파일의 물리적 위치를 은폐시키며, 저장 할당기(144)는 파일의 물리적 위치를 폐기 가능 FAT, 데이터베이스, 또는 하나 이상의 위치 파일에 저장한다. 전형적으로, 폐기 가능 FAT, 데이터베이스, 또는 하나 이상의 위치 파일을 주 FAT은 알 수 없으며, 일부 구현에서, 호스트 운영 시스템이 폐기 가능 FAT, 데이터베이스, 또는 하나 이상의 위치 파일에 액세스하지 못하게 하는 폐기 가능 FAT, 데이터베이스, 또는 하나 이상의 위치 파일에 연관된 속성이 활성화될 수 있다.To solve these problems, in some implementations, storage allocator 144 may associate a discardable file with a cluster chain in the primary FAT, which hides the physical location of the discardable file, 144 stores the physical location of the file in a disposable FAT, database, or one or more location files. Typically, a primary FAT is unknown to a discardable FAT, database, or one or more location files, and in some implementations, a discardable FAT that prevents the host operating system from accessing the discardable FAT, database, or one or more location files; Attributes associated with a database or one or more location files may be activated.

앞에서 언급된 바와 같이, FAT32에 각각의 엔트리는 32 비트이지만, 하위 28 비트들만이 사용된다. 전형적으로, 상위 4개의 비트는 유보되어 있고 제로에 설정되어 있다. FAT32에 맞게 구현하기 위해서는 할당된 클러스터들에 설정된다면 상위 4개의 비트들을 무시하고 새로운 FAT 엔트리를 기록할 때 상위 4개의 비트들을 제로로 설정해야 한다. 폐기 가능 파일은 파일에 연관된 각각의 클러스터 체인의 FAT 엔트리들의 상위 4개의 비트들 내에 플래그에 의해 폐기 불가 파일로부터 구별된다. 표준 FAT32 드라이버들은 폐기 가능 파일을 할당된 공간으로서 간주할 것이며 이들에 덮어 기록하지 않을 것이다. 그러나, 저장 할당기(144)는 저장 장치(110)에 자유 공간 할당들을 유지하기 위해서 도 5에 관련하여 위에 기술된 것들과 같은 동작들을 주기적으로 수행할 수 있고, 폐기 가능 파일에 할당된 공간을 복구할 수 있다.As mentioned earlier, each entry in FAT32 is 32 bits, but only the lower 28 bits are used. Typically, the top four bits are reserved and set to zero. Implementing FAT32 requires that the upper four bits be set to zero when writing a new FAT entry, ignoring the upper four bits if set in the allocated clusters. A discardable file is distinguished from a non-destructible file by a flag in the top four bits of the FAT entries of each cluster chain associated with the file. Standard FAT32 drivers will consider discardable files as allocated space and will not overwrite them. However, storage allocator 144 may periodically perform operations such as those described above with respect to FIG. 5 to maintain free space allocations in storage device 110, and allocate space allocated to discardable files. Can be recovered.

폐기 가능 FAT, 데이터베이스, 및 하나 이상의 위치 파일들 중 적어도 하나와, 주 FAT를 이용함으로써, 주 FAT가 확장될 수 있다. FAT 엔트리의 상위 4개의 비트가 제로가 되지 않게, 주 확장 FAT가 파일 할당 표 룩업 로직에서 브랜치와 관련하여 사용될 때, 폐기 가능 FAT, 데이터베이스, 또는 폐기 가능 파일의 물리적 위치를 반영하는 하나 이상의 위치 파일에 정보를 주 FAT에 FAT 엔트리 대신 사용한다. 주 FAT의 FAT 엔트리에 값을 무시하는 폐기 가능 FAT, 데이터베이스, 또는 하나 이상의 위치 파일에 정보에 기인하여, chkdsk 및 fsck.vfat와 같은 유틸리티들은 유틸리티들이 폐기 가능 파일의 클러스터를 폐기 가능 FAT, 데이터베이스 또는 하나 이상의 위치 파일에 디렉토리 또는 파일 엔트리들에 연관된 것으로서 간주할 것이기 때문에 폐기 가능 파일을 폐기 불가 파일로 바꾸지 않을 것이다. 또한, FAT 복구 유틸리티들은 chkdsk 및 fsck.vfat와 같은 유틸리티들이 폐기 가능 파일에 연관된 클러스터를 자유 공간으로서가 아니라 폐기 가능 FAT, 데이터베이스, 또는 하나 이상의 위치 파일들 내 디렉토리 또는 파일 엔트리들에 연관된 것으로서 간주하기 때문에 파일이 폐기 가능 파일임을 나타내는 FAT32 엔트리들에 플래그들을 리셋하지 않을 것이다.By using at least one of the discardable FAT, the database, and one or more location files and the primary FAT, the primary FAT can be expanded. One or more location files that reflect the physical location of a discardable FAT, database, or discardable file when the primary extended FAT is used in conjunction with a branch in the file allocation table lookup logic so that the top four bits of the FAT entry are not zero. Use the information in the main FAT instead of the FAT entry. Due to information in a discardable FAT, database, or one or more location files that ignore values in the FAT entry of the primary FAT, utilities such as chkdsk and fsck.vfat allow utilities to discard clusters of discardable files. It will not replace a discardable file with a non-discardable file because one or more location files will be considered as associated with directory or file entries. In addition, FAT recovery utilities consider utilities such as chkdsk and fsck.vfat to regard a cluster associated with a disposable file as not associated with the free space, but with a directory or file entries in the disposable FAT, database, or one or more location files. It will not reset flags to FAT32 entries indicating that the file is a discardable file.

폐기 가능 파일로 표시된 파일을 저장하기 위해서 파일 시스템(160)이 주 FAT(1200) 및 폐기 가능 FAT(1201)을 이용할 때, 저장 할당기(144)는 폐기 가능 파일에 할당된 클러스터 체인(1202)을 파일에 연관시키기 위해서 도 12a에 도시된 바와 같이 주 FAT(1200)을 업데이트한다. 일반적으로, 클러스터 체인(1202)은 클러스터 체인(1202)에 연관된 폐기 가능 파일과 동일한 크기이거나 이보다 클 수도 있다. 일부 구현에서, 클러스터 체인(1202)은 주 FAT에 폐기 가능 파일의 물리적 위치를 마스크한다. 전형적으로, 도 7 및 도 8에 관련하여 위에 기술된 바와 같이, 엔트리(1204)에서 시작하는 클러스터 체인에 각각의 클러스터는 엔트리(1206)에 나타낸 바와 같이 1FFF FFFF와 같은 값이 클러스터 체인(1202) 끝을 나타낼 때까지 클러스터 체인(1202)의 다음 순차적 클러스터를 가리킨다. 그러나, 다른 구현에서, 클러스터 체인의 각각의 클러스터는 클러스터 체인의 다음 순차적 클러스터를 가리키기보다는 클러스터가 개별적으로 할당된 클러스터임을 나타내는 1FFF FFFF와 같은 값을 가질 수도 있다.When file system 160 uses primary FAT 1200 and discardable FAT 1201 to store a file marked as discardable, storage allocator 144 is assigned a cluster chain 1202 assigned to the discardable file. Update primary FAT 1200 as shown in FIG. 12A to associate it with the file. In general, cluster chain 1202 may be the same size or larger than the discardable files associated with cluster chain 1202. In some implementations, cluster chain 1202 masks the physical location of discardable files in the primary FAT. Typically, as described above with respect to FIGS. 7 and 8, each cluster in the cluster chain starting at entry 1204 has a value equal to 1FFF FFFF as shown in entry 1206. Point to the next sequential cluster of cluster chain 1202 until the end. However, in other implementations, each cluster of the cluster chain may have a value such as 1FFF FFFF indicating that the cluster is an individually allocated cluster rather than pointing to the next sequential cluster of the cluster chain.

클러스터 체인(1202)의 제 1 엔트리(1204)는 도 12b에 도시된 바와 같이, 폐기 가능 FAT(1201) 내 대응하는 엔트리(1208)를 가리킨다. 도 7 및 도 8에 관련하여 위에 기술된 바와 같이, 각각의 파일에 대해서, 폐기 가능 FAT(1201) 내에 클러스터 체인(1202)에 각각의 클러스터는 엔트리(1210)에 보인 바와 같이 1FFF FFFF와 같은 값이 파일의 EOF을 나타낼 때까지 파일의 다음 순차적 클러스터를 가리킨다.The first entry 1204 of the cluster chain 1202 points to the corresponding entry 1208 in the discardable FAT 1201, as shown in FIG. 12B. As described above with respect to FIGS. 7 and 8, for each file, each cluster in the cluster chain 1202 in the discardable FAT 1201 has a value such as 1FFF FFFF as shown in entry 1210. Point to the next sequential cluster of files until this file's EOF is indicated.

한 클러스터 체인(1202)은 하나 이상의 파일에 연관될 수도 있음을 알 것이다. 예를 들어, 도 12b에 도시된 바와 같이, 클러스터 체인(1202)는 제 1 파일(1212)에 대해 클러스터 #6(요소(1208)) 내지 클러스터 #9(요소(1210))인 제 1 세트의 클러스터를 포함하며, 제 2 파일(1214)에 대해 클러스터 #10 내지 클러스터 #11인 제 2 세트의 클러스터를 포함한다.It will be appreciated that one cluster chain 1202 may be associated with one or more files. For example, as shown in FIG. 12B, the cluster chain 1202 is the first set of clusters # 6 (element 1208) to cluster # 9 (element 1210) for the first file 1212. Cluster, the second set of clusters being cluster # 10 to cluster # 11 for the second file 1214.

또한, 주 FAT(1200) 및 대응하는 폐기 가능 FAT(1201)은 하나 이상의 클러스터 체인을 포함할 수 있음을 알 것이다. 예를 들어, 도 12a 및 도 12b에 도시된 바와 같이, 주 FAT는 클러스터 #6 내지 클러스터 #11의 클러스터 체인(1202)를 포함할 수 있고, 클러스터 #20 내지 클러스터 #22의 제 2 클러스터 체인(1216)을 포함할 수 있다.It will also be appreciated that primary FAT 1200 and corresponding discardable FAT 1201 may include one or more cluster chains. For example, as shown in FIGS. 12A and 12B, the primary FAT may include cluster chain 1202 of clusters # 6 to # 11, and the second cluster chain of clusters # 20 to cluster # 22 ( 1216).

다른 구현에서, 주 FAT(1200) 및 폐기 가능 FAT(1201)을 사용하기보다는, 파일 시스템은 위에 기술된 바와 같이, 하나 이상의 파일을 클러스터 체인에 연관시키기 위해 주 FAT(1200)을 이용할 수 있고, 클러스터 체인에 연관된 하나 이상의 폐기 가능 파일의 물리적 위치들을 저장하기 위해 폐기 가능 FAT 대신 데이터베이스 또는 하나 이상의 별도의 위치 파일을 이용할 수 있다. 데이터베이스 또는 위치 파일은 파일 시스템의 폐기 불가 영역에 저장되는 텍스트 파일들 또는 바이너리 파일일 수 있다.In another implementation, rather than using primary FAT 1200 and discardable FAT 1201, the file system may use primary FAT 1200 to associate one or more files to a cluster chain, as described above, A database or one or more separate location files may be used in place of the discardable FAT to store the physical locations of one or more discardable files associated with the cluster chain. The database or location file may be text files or binary files stored in a non-disposable area of the file system.

도 13은 주 FAT 및 폐기 가능 FAT을 사용하여 저장 장치를 관리하는 방법이다. 도 13은 도 1에 관련하여 기술될 것이다. 단계(1310)에서, 호스트(140)는 저장 장치(100)에 파일(142)을 저장하라는 요청을 수신한다. 일부 구현에서, 저장 할당기(144)은 저장 장치(100)에 파일(142)을 저장하라는 요청을 파일에 연관된 하나 이상의 기록 요청들에 기초하여 도출한다.13 is a method of managing a storage device using a primary FAT and a disposable FAT. FIG. 13 will be described with reference to FIG. 1. In operation 1310, the host 140 receives a request to store the file 142 in the storage device 100. In some implementations, storage allocator 144 derives a request to store file 142 in 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 described above. In step 1320, the file is also indicated that a discard priority level is assigned to the file.

단계(1330)에서, 파일이 폐기 가능 파일일 때, 저장 할당기(144)는 파일에 할당되는 클러스터 체인을 이 파일에 연관시키기 위해 주 FAT를 업데이트한다. 단계(1340)에서, 저장 할당기(144)는 저장 장치(100)에 파일의 물리적 위치를 반영하기 위해 폐기 가능 FAT를 업데이트한다. 단계(1350)에서, 저장 할당기(144)는 저장 장치(100)의 저장 영역(110)을 관리하며, (저장 제어기(120)와의 통신을 통해), 또는 저장 영역(110)에 저장된 파일을 표시된 파일에 기초하여 그리고 폐기 가능 FAT에 따라 관리한다. 저장 영역의 관리는 도 5에 관련하여 위에 기술된 바와 유사하다.In step 1330, when the file is a discardable file, storage allocator 144 updates the primary FAT to associate the cluster chain assigned to the file with this file. In step 1340, storage allocator 144 updates the discardable FAT to reflect the physical location of the file on storage device 100. In step 1350, storage allocator 144 manages storage area 110 of storage device 100, and stores files stored in storage area 110 (via communication with storage controller 120). Manage based on the displayed files and in accordance with the disposable FAT. Management of the storage area is similar to that described above with respect to FIG.

도 14는 FAT 및 데이터베이스를 사용하여 저장 장치를 관리하는 방법이다. 도 14는 도 1에 관련하여 기술될 것이다. 단계(1410)에서, 호스트(140)는 저장 장치(100)에 파일(142)을 저장하라는 요청을 수신한다. 단계(1420)에서, 저장 할당기(144)는 위에 기술된 바와 같이 파일을 저장 장치(100)에 연관된 파일 시스템 구조에 "폐기 가능" 또는 "폐기 불가"로 표시한다. 단계(1420)에서, 파일은 폐기 우선권 레벨이 파일에 할당되는 점도 표시된다.14 is a method of managing a storage device using a FAT and a database. FIG. 14 will be described with reference to FIG. 1. In operation 1410, the host 140 receives a request to store the file 142 in the storage device 100. At step 1420, storage allocator 144 marks the file as " disposable " or " non-disposable " in the file system structure associated with storage device 100 as described above. In step 1420, the file is also indicated that a discard priority level is assigned to the file.

단계(1430)에서, 파일이 폐기 가능 파일일 때, 저장 할당기(144)는 파일에 할당되는 클러스터 체인을 이 파일에 연관시키기 위해 FAT를 업데이트한다. 단계(1440)에서, 저장 할당기(144)는 저장 장치(100)에 파일의 물리적 위치를 반영하기 위해 데이터베이스를 업데이트한다. 단계(1450)에서, 저장 할당기(144)는 저장 장치(100)의 저장 영역(110)을 관리하며(저장 제어기(120)와의 통신을 통해), 또는 저장 영역(110)에 저장된 파일을 FAT 및 데이터베이스에 기초하여 관리한다.In step 1430, when the file is a discardable file, storage allocator 144 updates the FAT to associate the cluster chain assigned to the file with this file. In step 1440, storage allocator 144 updates the database to reflect the physical location of the file on storage device 100. At step 1450, storage allocator 144 manages storage area 110 of storage device 100 (via communication with storage controller 120), or stores files stored in storage area 110 as FAT. And based on a database.

도 15는 FAT 및 위치 파일을 사용하여 저장 장치를 관리하는 방법이다. 도 15는 도 1에 관련하여 기술될 것이다. 단계(1510)에서, 호스트(140)는 저장 장치(100)에 파일(142)을 저장하라는 요청을 수신한다. 단계(1520)에서, 저장 할당기(144)는 위에 기술된 바와 같이 파일을 저장 장치(100)에 연관된 파일 시스템 구조에 "폐기 가능" 또는 "폐기 불가"로 표시한다. 단계(1520)에서, 파일은 폐기 우선권 레벨이 파일에 할당되는 점도 표시된다.15 is a method of managing a storage device using a FAT and a location file. FIG. 15 will be described with reference to FIG. 1. In operation 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 described above. In step 1520, the file is also indicated that a discard priority level is assigned to the file.

단계(1530)에서, 파일이 폐기 가능 파일일 때, 저장 할당기(144)는 파일에 할당되는 클러스터 체인을 이 파일에 연관시키기 위해 FAT를 업데이트한다. 단계(1540)에서, 저장 할당기(144)는 저장 장치(100)에 파일의 물리적 위치를 반영하기 위해 위치 파일을 업데이트한다. 단계(1550)에서, 저장 할당기(144)는 저장 장치(100)의 저장 영역(110)을 관리하며(저장 제어기(120)와의 통신을 통해), 또는 저장 영역(110)에 저장된 파일을 FAT 및 위치 파일에 기초하여 관리한다.In step 1530, when the file is a discardable file, storage allocator 144 updates the FAT to associate the cluster chain assigned to the file with this file. At step 1540, storage allocator 144 updates the location file to reflect the physical location of the file on storage device 100. In step 1550, storage allocator 144 manages storage area 110 of storage device 100 (via communication with storage controller 120), or FAT stores files stored in storage area 110. And based on the location file.

또 다른 구현에서, 보안을 향상시키기 위해서, 그리고 dosfsck(fsck.vfat라고도 알려진) 또는 chkdsk과 같은 파일 시스템 무결성 유틸리티들에 의해서 파일 시스템이 파괴되거나 손상되는 것을 방지하기 위해서, 저장 할당기(144)는 폐기 가능 FAT, 데이터베이스, 또는 폐기 가능 파일의 물리적 위치를 저장하는 하나 이상의 위치 파일을 판독하지 않고는 클러스터 체인들이 재구축될 수 없음을 확실히 하기 위해서, 클러스터를 폐기 가능 파일 영역에 순차적으로 클러스터 체인들에 할당하지 않는다. 또한, dosfsck와 같은 유틸리티들이 폐기 가능 파일을 폐기 불가 파일로 전환하지 않도록 또는 파일이 폐기 가능함을 나타내는 파일의 상위 비트에 플래그를 리셋하지 않게 되도록 클러스터 체인의 스크램블된 클러스터들 중 하나 이상에 연관되는 범위 파일들이 FAT에 생성된다. 일부 구현에서, 호스트 운영 시스템이 범위 파일에 액세스하지 못하게 하기 위해서 범위 파일에 연관되는 은폐, 시스템, 디렉토리, 또는 볼륨 속성과 같은 속성이 활성화될 수 있다.In another implementation, storage allocator 144 may be used to enhance security and to prevent file system destruction or corruption by file system integrity utilities such as dosfsck (also known as fsck.vfat) or chkdsk. To ensure that cluster chains cannot be rebuilt without reading one or more location files that store the physical location of the discardable FAT, the database, or the discardable file, the cluster chains sequentially into the discardable file area. Do not assign to In addition, the scope associated with one or more of the scrambled clusters in the cluster chain such that utilities such as dosfsck do not convert a discardable file to a non-discardable file or do not reset the flag on the higher bits of the file indicating that the file is discardable. The files are created in the FAT. In some implementations, attributes such as concealment, system, directory, or volume attributes associated with a scope file can be activated to prevent the host operating system from accessing the scope file.

도 16은 클러스터 체인을 포함하는 2 이상의 클러스터의 순서가 스크램블된 클러스터 체인을 포함하는 FAT를 나타낸 차트이다. 도 16에 도시된 바와 같이, 엔트리(1602)에서 시작하는 클러스터 체인을 포함하는 클러스터들은 인접하지 않다. 예를 들어, 엔트리(1602)에서 시작하는 클러스터 체인의 순서는 클러스터 #13, 클러스터 #9, 클러스터 #7, 클러스터 #18, 및 클러스터 #21이다. FAT에서, 각각의 클러스터의 값은 도 7 및 도 8에 관련하여 위에 기술된 바와 같이 클러스터 체인에서 다음 클러스터를 가리킨다.FIG. 16 is a chart illustrating a FAT including a cluster chain in which an order of two or more clusters including a cluster chain is scrambled. As shown in FIG. 16, clusters comprising a cluster chain starting at entry 1602 are not contiguous. For example, the order of cluster chains starting at entry 1602 is cluster # 13, cluster # 9, cluster # 7, cluster # 18, and cluster # 21. In the FAT, the value of each cluster points to the next cluster in the cluster chain as described above in relation to FIGS. 7 and 8.

하나 이상의 파일에 연관된 클러스터 체인을 포함하는 클러스터의 순서를 스크램블하는 것 외에도, 파일에 연관된 클러스터 체인의 하나 이상의 클러스터를 포함하는 하나 이상의 범위 파일들이 FAT에 생성될 수 있다. 일부 구현에서, 각각의 범위 파일은 클러스터 체인의 일부인 한 범위의 클러스터들 내에 모든 클러스터를 나타낼 수 있다. 범위 파일들과 클러스터 체인을 포함하는 클러스터들 간에 연관에 기인하여, chkdsk 또는 fsck.vfat와 같은 유틸리티들은 폐기 가능 파일을 폐기 불가 파일로 바꾸지 않을 것이며 FAT 복구 유틸리티들은 파일이 폐기 가능 파일이라는 FAT32 엔트리 표시 내 플래그들을 리셋하지 않을 것이다.In addition to scrambling the order of clusters that include cluster chains associated with one or more files, one or more range files that contain one or more clusters of cluster chains associated with the file may be created in the FAT. In some implementations, each range file can represent all clusters within one range of clusters that are part of a cluster chain. Due to the association between the range files and the clusters that contain the cluster chain, utilities such as chkdsk or fsck.vfat will not replace a discardable file with a non-disposable file and FAT recovery utilities will mark FAT32 entries that the file is a discardable file. Will not reset my flags.

도 17은 엔트리(1602)에서 시작하는 클러스터 체인의 적어도 하나의 클러스터를 각각이 저장하는, FAT에 생성되는 하나 이상의 범위 파일을 도시한 차트이다. 예를 들어, 제 1 범위 파일(1604)은 엔트리(1602)에서 시작하는 클러스터 체인으로부터 클러스터 #7 및 클러스터 #9을 저장하며, 제 2 범위 파일(1606)은 엔트리(1602)에서 시작하는 클러스터 체인으로부터 클러스터 #13, 클러스터 #18, 및 클러스터 #21을 저장한다.FIG. 17 is a chart illustrating one or more range files created in a FAT, each storing at least one cluster of 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 at entry 1602, and the second range file 1606 stores the cluster chain starting at entry 1602. Cluster # 13, cluster # 18, and cluster # 21 from the storage.

범위 파일은 하나 이상의 클러스터 체인으로부터 클러스터를 저장할 수 있다. 예를 들어, 엔트리(1602)에서 시작하는 클러스터 체인으로부터 위에 열거된 클러스터들 외에도, 제 1 범위 파일(1604)은 엔트리(1608)에서 시작하는 클러스터 체인으로부터 클러스터 #5 및 클러스터 #10을 저장할 수 있다. 유사하게, 엔트리(1602)에서 시작하는 클러스터 체인으로부터 위에 열거된 클러스터들 외에도, 제 2 범위 파일(1606)은 엔트리(1608)에서 시작하는 클러스터 체인으로부터 클러스터 #16, 클러스터 #17, 및 클러스터 #22을 저장할 수 있다.The scope file can store clusters from one or more cluster chains. For example, in addition to the clusters listed above from the cluster chain starting at entry 1602, the first range file 1604 can 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 at entry 1602, the second scope file 1606 may include cluster # 16, cluster # 17, and cluster # 22 from the cluster chain starting at entry 1608. Can be saved.

도 18은 클러스터 체인을 포함하는 2 이상의 클러스터의 순서가 스크램블된 FAT를 사용하여 저장 장치를 관리하는 방법이다. 도 18은 도 1에 관련하여 기술될 것이다. 단계(1810)에서, 호스트(140)는 저장 장치(100)에 파일(142)을 저장하라는 요청을 수신한다. 단계(1820)에서, 저장 할당기(144)는 위에 기술된 바와 같이 파일을 저장 장치(100)에 연관된 파일 시스템 구조에 "폐기 가능" 또는 "폐기 불가"로 표시한다. 단계(1820)에서, 파일은 폐기 우선권 레벨이 파일에 할당되는 점도 표시된다.18 illustrates a method of managing a storage device using a FAT in which an order of two or more clusters including a cluster chain is scrambled. FIG. 18 will be described with reference to FIG. 1. In operation 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 described above. In step 1820, the file is also indicated that a discard priority level is assigned to the file.

단계(1830)에서, 파일이 폐기 가능 파일일 때, 저장 할당기(144)는 파일에 할당되는 클러스터 체인을 파일에 연관시키기 위해 FAT를 업데이트한다. 단계(1840)에서, 파일에 연관되는 클러스터 체인의 2 이상의 클러스터의 순서는 이를테면 저장 장치(100) 내에 메모리량, 클러스터 체인의 총 크기, 클러스터 체인의 2개의 순차적 클러스터들 사이에 클러스터의 수, 및/또는 소거 블록 크기, 할당된 블록에 각각의 논리 어드레스의 물리적 블록 어드레스, 및/또는 물리적 블록 어드레스에 연관된 각각의 페이지에 대한 마모 평준화 데이터를 고려할 수 있는 플래시 메모리 관리 알고리즘들과 같은 인자에 기초하여 FAT 내에서 스크램블된다. 일부 구현에서, 클러스터 체인의 2 이상의 클러스터의 순서는 이전에 할당되지 않은 각각의 클러스터에 대한 범위 내에 오프셋을 제공하는, 의사-난수 발생기 또는 엔트로피 난수 발생기를 사용하여 스크램블된다. 다른 구현에서, 클러스터 체인의 2 이상의 클러스터의 순서는 호스트 시스템(140) 및/또는 저장 장치(100)로부터 비확정적 값들을 고려하는 일방향 해시 함수를 사용하여 스크램블된다.In step 1830, when the file is a discardable file, storage allocator 144 updates the FAT to associate the cluster chain assigned to the file with the file. In step 1840, the order of two or more clusters in the cluster chain associated with the file may include, for example, the amount of memory in storage 100, the total size of the cluster chain, the number of clusters between two sequential clusters of the cluster chain, and And / or based on factors such as flash memory management algorithms that may take into account erase block size, the physical block address of each logical address in the assigned block, and / or wear leveling data for each page associated with the physical block address. It is scrambled in the FAT. In some implementations, the order of two or more clusters in a cluster chain is scrambled using a pseudo-random number generator or an entropy random number generator, which provides an offset within the range for each cluster that has not been previously assigned. In another implementation, 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 범위 파일이 FAT에 생성된다. 단계(1860)에서, 저장 할당기(144)는 저장 장치(100)의 저장 영역(110)을 관리하며(저장 제어기(120)와의 통신을 통해), 또는 저장 영역(110)에 저장된 파일을 FAT 및 위치 파일에 기초하여 관리한다.In step 1850, a first range file is created in the FAT that includes at least one cluster of the cluster chain associated with the first file. At step 1860, storage allocator 144 manages storage area 110 of storage device 100 (via communication with storage controller 120), or FAT stores files stored in storage area 110. And based on the location file.

또 다른 구현에서, 파일 시스템은 폐기 가능 파일이 열려 있는 동안 폐기 가능 파일이 폐기 불가 파일로 전환되지 않게 하기 위해 전환 록(lock)을 구현할 수 있다. 폐기 가능 파일은 예를 들어, 폐기 가능 파일이 저장 장치(100)에 다운로드되고 있는 동안의 시간 동안에, 또는 이를테면 폐기 가능 파일에 연관된 영화, 노래, 또는 프로그램에 연관된 출시일 전에 폐기 가능 파일이 저장 장치(100)에 다운로드될 때와 같이, 폐기 가능 파일에 연관된 데이터가 대중에 출시되기 전의 시간 동안에, 열려있을 수 있다. 일반적으로, 전환 록은 전환 록이 설정되었을 때 폐기 가능 파일이 폐기 불가 파일로 전환될 수 없게 동작한다.In another implementation, the file system may implement a switch lock to prevent the discardable file from being converted to the non-discardable file while the discardable file is open. Discardable files may include, for example, a period of time during which the discardable file is being downloaded to storage device 100, such as before the release date associated with a movie, song, or program associated with the discardable file. As may be downloaded at 100), data associated with the discardable file may be open during the time before it is released to the public. In general, the switch lock operates so that a discardable file cannot be converted into a non-closable file when the switch lock is set.

도 19는 주 FAT 및 폐기 가능 FAT을 구현하는 파일 시스템에서 폐기 가능 파일이 열려있을 때 폐기 가능 파일의 전환을 방지하기 위해 전환 록을 이용하는 방법이다. 도 19는 도 1에 관련하여 기술될 것이다. 단계(1910)에서, 저장 할당기(144)는 폐기 가능 파일을 폐기 불가 파일로 전환하라는 요청을 수신한다. 단계(1920)에서, 저장 할당기(144)는 폐기 가능 파일에 연관된 전환 록 식별자의 값을 확인한다. 단계(1930)에서, 저장 할당기(144)는 폐기 가능 파일이 전환 록 식별자의 값에 기초하여 폐기 불가 파일에 전환될 수 있는지 판정한다. 전형적으로, 저장 할당기(144)는 전환 록 식별자의 값이 폐기 가능 파일이 열려있음을 나타낼 때 폐기 가능 파일이 전환되지 않을 수 있는 것으로 판정할 것이며, 저장 할당기(144)는 전환 록 식별자의 값이 폐기 가능 파일이 열려있지 않음을 나타낼 때 폐기 가능 파일이 전환될 수 있는 것으로 판정할 것이다. 19 is a method of using a conversion lock to prevent conversion of a disposable file when a disposable file is open in a file system implementing primary and discardable FAT. FIG. 19 will be described with respect to FIG. 1. At step 1910, storage allocator 144 receives a request to convert the discardable file to a non-discardable file. In step 1920, storage allocator 144 verifies the value of the switch lock identifier associated with the discardable file. At step 1930, storage allocator 144 determines whether the discardable file can be converted to the non-destructible file based on the value of the switch lock identifier. Typically, storage allocator 144 will determine that the discardable file may not be switched when the value of the switch lock identifier indicates that the discardable file is open, and storage allocator 144 will determine When the value indicates that the disposable file is not open, it will be determined that the disposable file can be converted.

폐기 가능 파일이 폐기 불가 파일로 전환되지 않을 수 있는 것으로 단계(1930)에서 저장 할당기(144)이 판정한다면, 저장 할당기(144)는 단계(1940)에서 폐기 가능 파일을 폐기 불가로 표시하는 것을 금지한다. 그러나, 폐기 가능 파일이 폐기 불가 파일로 전환될 수 있는 것으로 단계(1930)에서 저장 할당기(144)이 판정한다면, 저장 할당기(144)는 단계(1950)에서 저장 장치(100)에 연관된 파일 시스템 구조에서 파일을 폐기 불가 파일로 표시하고, 단계(1960)에서 파일의 물리적 위치를 반영하기 위해 주 FAT를 업데이트하고, 단계(1970)에서 파일의 물리적 위치를 제거하기 위해 폐기 가능 FAT를 업데이트한다.If storage allocator 144 determines in step 1930 that the discardable file may not be converted to a non-disposable file, then storage allocator 144 may mark the discardable file as non-deletable in step 1940. It is forbidden. However, if storage allocator 144 determines in step 1930 that the discardable file may be converted to a non-disposable file, then storage allocator 144 may determine that the file associated with storage device 100 in step 1950. Mark the file as non-disposable in the system structure, update the primary FAT to reflect the physical location of the file in 1960, and update the discardable FAT to remove the physical location of the file in 1970 .

데이터베이스 또는 위치 파일이 위에 기술된 바와 같이 폐기 가능 FAT 대신에 주 FAT에 사용될 때 유사한 방법들이 전환 록을 사용하여 구현됨을 알 것이다.It will be appreciated that similar methods are implemented using the switch lock when a database or location file is used in the primary FAT instead of the disposable FAT as described above.

일부 구현에서, 이를테면 폐기 가능 파일을 폐기 불가 파일로 전환하거나, 애플리케이션에 연관된 식별자에 기초하여 전환 록 식별자의 값을 체크하는 것과 같은 동작들을 애플리케이션이 수행하게 할 수 있다. 전형적으로, 폐기 가능 파일을 생성 또는 다운로드하는 애플리케이션은 사용자 식별자(ID)를 폐기 가능 파일에 연관시킬 수 있다. 사용자 ID는 폐기 가능 파일을 생성한 애플리케이션 또는 사용자를 식별하는 소유자 사용자 ID일 수 있다. 일부 구현에서, 소유자 사용자 ID는 4-바이트 값이다.In some implementations, an application can perform operations such as converting a discardable file to a non-discardable file, or checking the value of a switch lock identifier based on an identifier associated with the application. Typically, an application that creates or downloads a discardable file may 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일 수 있음을 알 것이다.File system 160 has the ability to define what additional user IDs associated with other users or applications can access the discardable file and what actions the additional user IDs can take with respect to the discardable file. To the owner user ID. Depending on the use of the disposable file, it will be appreciated that additional user IDs may be associated with a single application or single user, or the additional user IDs may be shared user IDs associated with multiple applications or multiple users. .

일부 구현에서, 소유자 사용자 ID는 추가의 사용자 ID에 연관된 애플리케이션이 폐기 가능 파일에 연관된 프리뷰 데이터에 액세스할 수 있게 할 수 있다. 프리뷰 데이터는 다른 구현에서 프리뷰 데이터가 폐기 가능 파일과는 다르지만 이에 연관되는 폐기 가능 파일의 부분일 수 있다. 일부 구현에서, 폐기 가능 파일은 영화일 수 있고 프리뷰 데이터는 영화에 연관된 영화 트레일러를 포함할 수 있으며; 폐기 가능 파일은 텔레비전 프로그램일 수 있고, 프리뷰 데이터는 텔레비전 프로그램의 일부를 포함할 수 있으며; 폐기 가능 파일은 음악 데이터일 수 있고 프리뷰 데이터는 음악 데이터의 일부를 포함할 수 있으며; 또는 폐기 가능 파일은 소프트웨어 프로그램일 수 있고, 프리뷰 데이터는 소프트웨어 프로그램의 데모 버전을 포함할 수 있다. 다른 구현에서, 프리뷰 데이터는 폐기 가능 파일에 연관된 출시일 전에 폐기 가능 파일은 액세스될 수 없으나, 폐기 가능 파일에 연관된 프리뷰 데이터는 액세스될 수 있으며, 출시일 후에, 폐기 가능 파일 및 프리뷰 데이터 둘 다가 액세스될 수 있게 이용될 수 있다. 또 다른 예에서, 소유자 사용자 ID는 추가의 사용자 ID 에 연관된 애플리케이션이 폐기 가능 파일에 연관된 사용자 ID에 기초하여 폐기 가능 파일을 기록하게 할 수 있다.In some implementations, the owner user ID can enable an application associated with the additional user ID to access the preview data associated with the discardable file. The preview data may be part of the discardable file associated with the preview data in other implementations but different from the discardable file. In some implementations, the discardable file can be a movie and the preview data can include a movie trailer associated with the movie; The discardable file may be a television program, and the preview data may include a portion of the television program; The discardable file may be music data and the preview data may include a portion of the music data; Alternatively, the discardable file may be a software program, and the preview data may include a demo version of the software program. In another implementation, the preview data may not be accessed before the release date associated with the discardable file, but the preview data associated with the discardable file may be accessed, and after the release date, both the discardable file and the preview data may be accessed. Can be used. In another example, the owner user ID can cause an application associated with the additional user ID to record the disposable file based on the user ID associated with the disposable file.

일부 구현에서, 파일 시스템은 추가의 사용자 ID에 연관된 애플리케이션들이 폐기 가능 파일에 관련하여 어떤 동작들을 수행할지를 정의하기 위해 소유자 사용자 ID에 대한 허락 비트 마스크들을 제공할 수 있다. 전형적인 사용 시나리오들을 위한 허락 비트 마스크들의 일예가 도 20에 도시되었다. 그러나, 소유자 사용자 ID는 도 20에 도시된 허락들을 무시하고 추가의 사용자 ID들에 임의의 허락을 할당할 수 있음을 알 것이다.In some implementations, the file system can provide permission bit masks for the owner user ID to define what operations applications associated with the additional user ID will perform with respect to the discardable file. One example of permission bit masks for typical usage scenarios is shown in FIG. 20. However, it will be appreciated that the owner user ID may override any of the permissions shown in FIG. 20 and assign any permission to additional user IDs.

도 20에 도시된 허락들을 참조하면, 특성 기록 허락 비트(2002)가 설정된 애플리케이션은 전환 록을 활성화 또는 비활성화, 시간 스탬프를 설정, 또는 소비 의향 URI(universal resource indicator)를 기록과 같은 속성들을 수정할 수 있고, 특성 판독 허락 비트(2004)가 설정된 애플리케이션은 전환 록, 시간 스탬프, 또는 소비 의향 URI와 같은 속성들을 판독할 수 있다. 우선권 허락 비트(2006)가 설정된 애플리케이션은 폐기 가능 파일의 우선권 레벨을 수정할 수 있다. 프리뷰 판독 허락 비트(2008)가 설정된 애플리케이션은 폐기 가능 파일에 연관된 프리뷰 데이터를 판독할 수 있고, 프리뷰 기록 허락 비트(2010)가 설정된 애플리케이션은 폐기 가능 파일에 연관된 프리뷰 데이터를 기록할 수 있다. 판독 허락 비트(2012)가 설정된 애플리케이션은 폐기 가능 파일을 판독할 수 있고, 기록 허락 비트(2014)이 설정된 애플리케이션은 폐기 가능 파일에 기록할 수 있다. 전형적으로, 폐기 가능 파일에 연관된 소유자 사용자 ID에 연관된 애플리케이션만이 이들 허락들을 가질 것이다. 전환 허락 비트(2016)가 설정된 애플리케이션은 폐기 가능 파일을 폐기 불가 파일을 전환시킬 수 있다.Referring to the permissions shown in FIG. 20, an application with the property write permission bit 2002 set may modify attributes such as enabling or disabling the transition lock, setting a time stamp, or recording a consumption intent universal resource indicator (URI). And an application with the property read permission bit 2004 set may read attributes such as a conversion lock, a time stamp, or a consumption intent URI. An application with the priority grant bit 2006 set may modify the priority level of the discardable file. An application with the preview read permission bit 2008 set may read the preview data associated with the discardable file, and an application with the preview write permission bit 2010 set the preview data associated with the discardable file. An application with the read permission bit 2012 set may read a discardable file, and an application with the write permission bit 2014 set may write to the discardable file. Typically, only applications associated with the owner user ID associated with the discardable file will have these permissions. An application for which the switch permission bit 2016 is set may convert the discardable file to the non-discardable file.

파일을 표시하고 연관된 파일 시스템에 폐기 레벨들을 이들에 할당하는 여기에 개시된 방법은 많은 유용한 애플리케이션들을 가질 수 있고, 이들 중 하나는 사용자 파일을 위한 충분한 저장 공간을 보증하기 위해 저장 사용 안전 마진을 회복하는 것임에 유의한다. 예를 들어, 파일에 할당된 폐기 레벨은 파일 클러스터를 저성능 플래시 모듈에 재 매핑하거나, 요청시 클러스터를 클리어하기 위해 사용될 수 있다.
The method disclosed herein of displaying files and assigning revocation levels to them in an associated file system can have many useful applications, one of which is to recover storage usage safety margins to ensure sufficient storage space for user files. Note that For example, the discard level assigned to a file can be used to remap the file cluster to a low performance flash module or to clear the cluster on demand.

대용량 파일용 스마트 캐싱Smart Caching for Large Files

위에 기술된, 스마트 캐싱이라고도 하는, 데이터를 관리하는 방법들에 더하여, 그리고 둘 다 참조로서 여기에 포함시키는, 2008년 12월 16일에 출원된 계류중의 미국특허출원번호 12/336,089에 그리고 2009년 3월 10일에 출원된 계류중의 미국 가특허 출원 번호 61/159,034에 기술된 스마트 캐싱의 설명들 및 특징들에 더하여, 대용량 폐기 가능 파일을 위한 스마트 캐싱 기술이 제공된다. 여기에서 스마트 캐싱 HD라고도 하는 이 대용량 파일 스마트 캐싱은 위에 개시된 바로부터 몇가지 변경들 및 확장들을 포함한다. 스마트 캐싱 HD는 4GB보다 큰 파일들이 폐기 가능한 동안 이들의 대용량(>4GB) 상태를 유지하면서, 전환시 이러한 파일의 분할을 지능형으로 다루는 대용량 파일 관리자를 추가함으로써, 이러한 파일에 대한 지원에 있어 스마트 캐싱과는 다르다. 특히, 이것은 일련의 작은 파일로서가 아니라 단일의 유닛들로서 폐기하는 것뿐만 아니라 전술한 파일의 관리 및 검색를 할 수 있게 한다.
In addition to methods of managing data, also referred to as smart caching, described above, and in pending US patent application Ser. No. 12 / 336,089, filed Dec. 16, 2008, both of which are incorporated herein by reference and 2009 In addition to the descriptions and features of smart caching described in pending U.S. Provisional Patent Application No. 61 / 159,034, filed Mar. 10, 10, a smart caching technique for large discardable files is provided. This large file smart caching, also referred to herein as smart caching HD, includes several changes and extensions from the above. Smart Caching HD supports smart caching in support of these files by adding large file managers that intelligently handle the splitting of these files during conversion, while maintaining their large (> 4GB) state while files larger than 4GB can be discarded. Is different. In particular, this allows management and retrieval of the files described above as well as discarding them as single units rather than as a series of small files.

구성성분Ingredient

스마트 캐싱 구성성분들이 도 21의 블록도에 기술되었다. 스마트 캐싱 구성성분들(2100)은 ANDROID, WINDOWS 또는 LINUX와 같은 다수의 운영 시스템들 중 어느 것과 관련하여 동작될 수 있다. 대안적으로, 여기에 논한 스마트 캐싱 기술들은 운영 시스템이 없는 메모리 카드와 같은 저장 매체 상에 구현될 수 있다. 스마트 캐시 HD를 위해 추가되는 새로운 구성성분은 4GB보다 크기가 더 큰 파일을 다루는 대용량 파일 관리자(2102)이다. 대용량 파일 관리자가 이하 상세히 기술한다.
Smart caching components are described in the block diagram of FIG. Smart caching components 2100 may 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 may be implemented on a storage medium such as a memory card without an operating system. A new component added for Smart Cache HD is a large file manager 2102 that handles files larger than 4GB in size. The large file manager is described in detail below.

대용량 폐기 가능 파일Large Discardable Files

폐기 가능 파일을 내포하는 파일 시스템은 도 22의 파일 시스템 구조에 도시된 바와 같이 개념적으로 구성된다. 파일 시스템은 구조가 SD-HC(및 대응하는 고용량 μSD) 카드들에서 볼 수 있는 표준 FAT32 파일 시스템과 유사하다. 폐기 가능 파일들 HD 구현에서, 폐기 가능 파일은 셰도우 FAT에 저장된다.
The file system containing the discardable file is conceptually configured as shown in the file system structure of FIG. The file system is similar in structure to the standard FAT32 file system found in SD-HC (and corresponding high capacity μSD) cards. Discardable Files In an HD implementation, the discardable file is stored in a shadow FAT.

셰도우Shadow FATFAT

원래의 2개의 FAT 테이블들은 실제 체인이 아니라 파일의 우선권을 나타내는 OxpFFFFFFF(EOF) 또는 0xp00000000(비할당된) 값만을 사용하여 폐기 가능 클러스터를 할당한다. 최상위 니블이 제로가 아니라면, 실제 클러스터 체인 시퀀스를 결정하기 위해 제 3 FAT 테이블이 참조된다. 원래의 2개의 FAT 테이블들과는 달리, 폐기 가능 FAT(DFAT) 테이블은 4GB보다 긴 클러스터 체인들을 내포할 수 있다.
The original two FAT tables allocate discardable clusters using only OxpFFFFFFF (EOF) or 0xp00000000 (unallocated) values that represent the file's priority, not the actual chain. If the most significant nibble is not zero, the third FAT table is referenced to determine the actual cluster chain sequence. Unlike the original two FAT tables, the Disposable FAT (DFAT) table can contain cluster chains longer than 4GB.

디렉토리Directory 테이블 table

폐기 가능 파일을 위한 디렉토리 엔트리는 다음 요소들을 갖는다. 암호화될 수도 있는 요소들은 단일 블로브(blob)(binary large object)로 단일화될 수 있는, 시스템의 암호화된 변형들로 블로브로 표현된다. 이들 필드들이 여기에 기술된다.The directory entry for discardable files has the following elements. Elements that may be encrypted are represented in blobs as encrypted variants of the system, which may be unified into a binary large object. These fields are described here.

유형type 요소 이름Element name 정수(주 키)Integer (Primary Key) 파일 IDFile ID 정수essence 일자/시간 생성Date / Time Generation 롱 정수Long integer 크기(이것은 스마트 캐시 구현과 다르다)Size (this is different from the smart cache implementation) 정수/블로브Integer / Blob 제 1 클러스터 수First cluster number 정수/블로브Integer / Blob 소유자 사용자 IDOwner user ID 정수/블로브Integer / Blob 허락 비트맵Permission bitmap 정수/블로브Integer / Blob 우선권preference 정수/블로브Integer / Blob 프리뷰 유형Preview type 정수/블로브Integer / Blob 프리뷰 크기Preview size 정수/블로브Integer / Blob 프리뷰 제 1 클러스터 수Preview number of clusters 텍스트text 이름 공간Namespace 텍스트text 파일명Filename 블로브Blob 빌링 참조Billing Reference 정수/블로브Integer / Blob 마지막 클러스터 수Last cluster count 정수/블로브Integer / Blob 마지막 클러스터 수Last cluster count 정수essence 만기일Expiration date 바이트byte 활성activation 텍스트text MIME 유형(이것은 스마트 캐시 구현과 다르다)MIME type (this is different from the smart cache implementation)

표 1: 폐기 가능 파일 디렉토리 엔트리 Table 1: Discardable File Directory Entries

주: 정수 크기는 32 비트이다. 롱 정수 크기는 64 비트이다.
Note: The integer size is 32 bits. The long integer size is 64 bits.

대용량 파일 관리자Large file manager

대용량 파일 관리자(LFM)는 4GB보다 큰 파일을 취급하기 위해 스마트 캐싱 HD 내에 구현되는 프로세스 핸들러이다. 개념적으로, LFM은 도 23에 도시된 바와 같이, 파일 파서 및 한 세트의 기정의된 분할 알고리즘들로 구성된다. LFM은 호스트 상에 구현될 수 있고, 또는 다른 스마트 캐싱 구성성분들이 저장 장치에 있다면, 저장 장치에 구현될 수 있다.Large File Manager (LFM) is a process handler implemented within Smart Caching HD to handle 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 may be implemented on a host, or may be implemented on the storage device if other smart caching components are on the storage device.

파일 파서는 폐기 가능 파일 디렉토리 엔트리에 저장되었다면 MIME 유형을 참조할 뿐만 아니라, 파일을 식별하는 공지된 방법(Linux 파일 명령에서 사용되는 것과 같은)을 사용한다. 유형 데이터베이스는 LFM 내에 포함되는, 파일 유형의 단순 표 및 이들의 대응하는 분할 핸들러이다. 추가의 분할 핸들러가 필요에 따라 포함될 수 있지만, 3개의 분할 핸들러가 도시되었다. 전형적으로, 분할 핸들러는 다음을 위한 인터페이스를 가질 것이다.The file parser uses known methods (such as those used in Linux file commands) to identify files, as well as refer to MIME types if they are stored in a disposable file directory entry. The type database is a simple table of file types and their corresponding split handlers, contained within the LFM. Additional split handlers may be included as needed, but three split handlers are shown. Typically, a split handler will have an interface for

폐기 가능 파일의 구조를 검증한다;Verify the structure of the discardable file;

파일이 분할될 세그먼트의 총 수를 계산한다(이것이 전형으로 4GB으로 나눈 파일의 크기가 될 것이지만, 파일 형식 제약은 추가 파일을 요구할 수도 있다);Calculate the total number of segments the file will be split into (this would be the size of a file divided by 4GB typically, but file format constraints may require additional files);

파일의 각각의 세그먼트마다 헤더를 생성한다;Generate a header for each segment of the file;

각각의 세그먼트 경계의 오프셋을 계산한다.Compute the offset of each segment boundary.

파일의 실제 분할은 이하 기술되는 바와 같이 전환 동안 행해진다.
The actual division of the file is done during the conversion as described below.

전환 흐름Conversion flow

스마트 캐싱 HD에서 전환 흐름이 도 24에 도시되었다. 프로세스(2400)는 애플리케이션에 의해 convert() 함수를 호출하는 단계(2402)에서 시작한다. convert() 함수는 단계(2404)에서 빌링 메커니즘(스마트 캐싱 애플리케이션에 기술된 바와 같은)을 통해 전환 프로세스를 재가한다. 전환이 단계(2406)에서 재가되지 않는다면, 단계(2407)에서 보안 예외가 된다. 단계(2406)에서 전환이 재가된다면, 다음 단계는 다른 프로세스와 장치 드라이버가 전환 프로세스 동안 수정하지 않도록 단계(2408)에서 파일 시스템을 록(lock)하고, 프로세스가 완료된 후에 파일 시스템의 리프레시를 허용하는 것이다. 이에 이어, 전환될 파일에 대한 클러스터 체인이 볼륨의 FAT1 표 및 FAT2 테이블에서 할당되고 단계(2410) 및 단계(2412)에서 dosfsck 보호 목적들을 위해 놓여진 임의의 기존의 플레이스홀더 파일로부터 체인을 단절시키고 필요하다면 클러스터 체인을 재정렬한다. 단계(2414)에서 파일이 총 길이가 4GB 미만이면, 파일에 대한 디렉토리 엔트리가 단계들(2416, 2418, 2420, 2422)에서 생성되고, 파일 시스템은 단계(2424)에서 언록(unlocked)되고 리프레시되어, 단계(2426)에서 convert() 흐름을 종료한다.The conversion flow in smart caching HD is shown in FIG. 24. Process 2400 begins at step 2402 calling a convert () function by an application. The convert () function resumes the conversion process via a billing mechanism (as described in the smart caching application) at step 2404. If the switch is not authorized in step 2406, then a security exception is made in step 2407. If the switch is back 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 switch process, and allow the file system to refresh after the process is complete. will be. Subsequently, a cluster chain for the file to be converted is allocated from the FAT1 table and the FAT2 table of the volume and disconnected and needed from any existing placeholder file placed for dosfsck protection purposes in steps 2410 and 2412. If so, rearrange the cluster chain. If the file is less than 4 GB in total length in step 2414, a directory entry for the file is created in steps 2416, 2418, 2420, and 2422, and the file system is unlocked and refreshed in step 2424. In step 2426, the convert () flow ends.

파일이 총 길이가 4GB보다 크다면, 프로세스는 단계(2428)로 진행한다. 4GB보다 큰 파일은 일반적으로 HD 미디어 파일들이며, 이것은 순차적으로 플레이될 세그먼트로 분할될 수 있다. 이들 세그먼트들은 재생동안 함께 링크되어 끊김이 없는 재생 경험을 제공할 수 있다. 그러나, 4GB 세그먼트로 파일의 단순 분할은 프레임의 중간에서 파일을 잘라낼 수 있거나, 세그먼트들 중 하나 이상이 파일을 식별 또는 플레이하는데 필요한 메타데이터(이를테면 파일 헤더)를 상실하게 할 수 있다. 이에 따라, 각각의 세그먼트는 형식에 적합한 LFM에 의해 발생된 메타데이터 헤더로 시작한다. 일부 파일 유형은 물론 문서 또는 실행 가능 파일과 같은 세그먼트로 분할되지 않으며, 이들 파일은 이 전략을 사용하여 더 작은 세그먼트로 전환될 수 없다. 이러한 파일에서, 대용량 파일 관리자는 파일의 순서를 유지하면서 분할을 지원하는 ZIP과 같은 압축 라이브러리를 사용할 수도 있다. 대용량 파일 관리자는 파일을 전환할 때 도 25에 도시된 흐름을 사용한다.If the file has a total length greater than 4 GB, the process proceeds to step 2428. Files larger than 4GB are generally HD media files, which can be divided into segments to be played sequentially. These segments can be linked together during playback to provide a seamless playback experience. However, a simple division of a file into 4 GB segments may cut the file in the middle of the frame, or one or more of the segments may lose the metadata (such as the file header) needed to identify or play the file. As such, each segment starts with a metadata header generated by a format-compliant LFM. Some file types are not, of course, divided into segments such as documents or executables, and these files cannot be converted to smaller segments using this strategy. For these files, large file managers may use compression libraries, such as ZIP, that support splitting while maintaining the order of the files. The large file manager uses the flow shown in FIG. 25 when switching files.

4GB보다 큰 길이의 파일을 관리하는 프로세스(2500)는 애플리케이션에 의해 전환 요청하는 단계(2502)에서 시작한다. 파일의 헤더는 단계(2504)에서 판독되며 단계(2506)에서 파일이 기지의 유형인지 판정한다. 파일이 기지의 유형이 아니라면, 프로세스는 단계(2508)로 진행하여, 파일은 일반적 방법 및 전환 프로세스를 사용하여 복수의 파일로 스팬되고 단계(2510)에서 스팬된 파일에 전환 프로세스가 계속된다.The process 2500 for managing a file of length greater than 4GB begins at step 2502, requesting a switch by the application. The header of the file is read at step 2504 and it is determined at step 2506 whether the file is of known type. If the file is not of known type, the process proceeds to step 2508 where the file is spanned into a plurality of files using the general method and the conversion process and the conversion process continues to the file spanned at step 2510.

단계(2506)에서 파일이 기지의 유형이라면, 단계(2512)에서 파일 유형이 복수의 파일로 스팬하는 것을 지원하는지에 대해 판정된다. 파일 유형이 파일로 스팬하는 것을 지원한다면, 단계(2510)로 진행하기 전에 단계(2514)에서 파일 유형에 특정한 방법을 사용하여 파일은 복수의 파일로 스팬된다. 그러나, 파일 유형이 파일로 스팬하는 것을 지원하지 않는다면, 단계(2510)로 진행하기 전에 단계(2508)에서 일반적 방법을 사용하여 파일은 복수의 파일로 스팬된다.If the file is of known type in step 2506, then it is determined in step 2512 whether the file type supports spanning into multiple files. If the file type supports spanning to a file, the file is spanned into a plurality of 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 to a file, the file is spanned into multiple files using the general method at step 2508 before proceeding to step 2510.

파일 유형에 특정한 방법의 예로서, 도 26은 고상세 비디오 스트림에서 일반적으로 사용되는, 개방 소스 Matroska(mkv) 콘테이너 파일 형식을 간단하게 도시한 것이다. Matroska 파일은 전형적으로 파일 헤더(확장가능 바이너리 메타-언어(EBML) 헤더), 이에 이은 하나의 세그먼트, 및 태그들로 끝나는 것으로 구성된다. 이들 파일을 분할하기 위해서, 세그먼트 자체는 복수의 파일로 분할되고, 그 각각은 자신의 EBML 헤더 및 세그먼트 헤더를 갖는다. 세그먼트 헤더 내에는 다음과 같이 분할 파일을 링크하는데 도움을 주는 필드들이다.As an example of a file type specific method, FIG. 26 is a simplified illustration of an open source Matroska (mkv) container file format, commonly used in high definition video streams. A Matroska file typically consists of a file header (extensible binary meta-language (EBML) header) followed by one segment, and tags. To divide these files, the segment itself is divided into a plurality of files, each of which has its own EBML header and segment header. Within the segment header are the following fields to help link the split file:

필드 이름Field name 유형type 설명Explanation SegmentUIDSegmentUID GUID(128 비트 수)GUID (128 bit number) 세그먼트를 식별하는 고유 128 비트 수. 자명하게, 파일은 세그먼트가 있다면 다른 파일에 의해서만 참조될 수 있으나, 이 UID 없이 재생이 가능하다.Unique 128-bit number identifying the segment. Obviously, a file can only be referenced by another file if there is a segment, but it can be played without this UID. SegmentFileNameSegmentFileName 캐릭터 스트링Character string 세그먼트가 저장되는 파일명File name where the segment is stored PrevUIDPrevUID GUIDGUID 이전 세그먼트의 고유 128비트 GUID(현재 세그먼트 전에 타임코드를 가진 세그먼트)Unique 128-bit GUID of previous segment (segment with timecode before current segment) PrevFilenamePrevFilename 캐릭터 스트링Character string 이전 세그먼트가 있는 파일명File name with previous segment NextUIDNextUID GUIDGUID 다음 세그먼트의 고유 128 비트 GUIDUnique 128-bit GUID of the next segment NextFilenameNextFilename 캐릭터 스트링Character string 다음 세그먼트가 있는 파일명File name with next segment

표 2: 세그먼트정보 구조(일부)
Table 2: Segment Information Structure (some)

Matroska 파일을 분할하는 프로세스는 각각의 분할 세그먼트마다 새로운 MKV 파일을 할당하고 생성하며, 각각의 세그먼트마다 EBML 헤더 및 재기록된 세그먼트 헤더를 부착하는 것을 수반한다.The process of splitting a Matroska file involves assigning and creating a new MKV file for each segment, and attaching an EBML header and a rewritten segment header to each segment.

대용량 파일 관리자는 Matroska와 같은 다양한 파일 유형에 대해, 각 경우에 각각의 파일 유형마다 특정한 분할 핸들러를 사용함으로써 파일 유형에 대해 명확하게 대체(in-place) 분할을 수행하는 지원을 포함한다. 대체 분할은, 파일 내에서 데이터를 이동함이 없이, 도 27에 도시된 바와 같은 새로운 헤더 정보를 내포하는 클러스터 체인에 클러스터를 추가하고, 이어서 각 파일마다 새로운 디렉토리 엔트리를 추가하여 클러스터 체인을 복수의 파일로 분할하고 체인 내 적합한 지점에 각각의 파일에 FCN을 할당함으로써 행해진다. (체인 내 FCN 바로전의 클러스터 수는 EOF 표시자를 가리킬 것이다). 다른 파일 유형들에 대해서 대용량 파일 관리자 내에 내포된 유사한 흐름이 존재한다. 대용량 파일 관리자는 자동으로 파일 유형을 검출하고 이에 따라 대체 생성을 생성한다.Large file managers include support for performing explicit in-place splits on file types for various file types, such as Matroska, in each case by using a specific split handler for each file type. Alternate partitioning adds a cluster to a cluster chain containing new header information, as shown in FIG. 27, without moving data within the file, and then adds a new directory entry for each file to create a plurality of cluster chains. This is done by splitting into files and assigning FCNs to each file at appropriate points in the chain. (The number of clusters just before the FCN in the chain will point to the EOF indicator). For other file types there is a similar flow implied within the large file manager. The large file manager automatically detects the file type and generates an alternative generation accordingly.

본 출원은 저장 장치를 관리하는 방법과 시스템을 포함한다. 일 구현에서, 호스트 또는 저장 장치에 있는 저장 할당기는 저장 장치의 저장 영역에 파일을 저장하라는 요청을 수신한다. 저장 할당기는 저장 장치와 연관된 파일 시스템 구조에 파일을 폐기 가능으로 표시하며, 파일에 할당된 클러스터 체인을 파일에 연관시키기 위해 주 파일 할당 테이블("FAT")을 업데이트한다. 또한, 저장 할당기는 파일의 물리적 위치를 반영하기 위해 폐기 가능 FAT 또는 데이터베이스를 업데이트하거나, 파일의 물리적 위치를 저장하는 하나 이상의 위치 파일을 발생할 수 있다. 저장 할당기는 FAT 및 폐기 가능 FAT, 데이터베이스, 또는 파일의 물리적 위치를 나타내는 하나 이상의 위치 파일에 기초하여 저장 영역 장치를 관리한다.The present application includes methods and systems for managing storage devices. In one implementation, a storage allocator at the 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 main file allocation table ("FAT") to associate the cluster chain assigned to the file with the file. In addition, the storage allocator may update a discardable FAT or database to reflect the physical location of the file, or generate one or more location files that store the physical location of the file. The storage allocator manages storage area devices based on one or more location files representing the physical location of the FAT and the discardable FAT, database, or file.

다수의 방법과 시스템이 위에 개시되었으며 다수의 방법으로 구현될 수 있다. 구현의 조합의 일부의 예가 이해 제공되나, 이들은 제한하는 것은 아니며 추가의 특징 및 조합도 고찰된다.Many methods and systems have been disclosed above and can be implemented in many ways. Some examples of combinations of implementations are provided for understanding, but these are not limiting and additional features and combinations are also contemplated.

일 구현에서, 저장 장치를 관리하는 제 1 방법은, 저장 장치가 동작 가능하게 결합된 호스트에서, 주 FAT 및 폐기 가능 FAT을 내포하는 저장 장치의 저장 영역에 제 1 파일을 저장하라는 요청을 수신하는 단계; 제 1 파일을 폐기 가능으로 표시하는 단계로서, 제 1 파일을 표시하는 것은 저장 장치와 연관된 파일 시스템 구조에 행해지는, 단계; 제 1 파일에 할당된 클러스터 체인을 제 1 파일에 연관시키기 위해 저장 장치에게 주 FAT를 업데이트하게 하는 단계; 저장 장치에 제 1 파일의 물리적 위치를 반영하기 위해 저장 장치에게 폐기 가능 FAT를 업데이트하게 하는 단계; 및 폐기 가능 FAT에 따라 저장 장치의 저장 영역을 관리하는 단계를 포함한다.In one implementation, a first method of managing storage comprises receiving, at a host to which the storage device is operatively coupled, a request to store a first file in a storage area of a storage device containing a primary FAT and a disposable FAT. step; Marking the first file as discardable, wherein marking the first file is performed on a file system structure associated with the storage device; Causing the storage device to update the primary FAT to associate the cluster chain assigned to the first file with the first file; Causing the storage device to update the discardable FAT to reflect the physical location of the first file on the storage device; And managing a storage area of the storage device according to the disposable FAT.

이 방법에서, 클러스터 체인은 제 1 파일의 적어도 물리적 위치를 마스크하며, 주 FAT의 클러스터 체인은 폐기 가능 FAT 내 위치를 가리킬 수도 있다. 폐기 가능 FAT에 따라 저장 장치의 저장 영역을 관리하는 것은, 폐기 가능으로 표시된 하나 이상의 파일을 선택적으로 제거함으로써 저장 사용 안전 마진을 회복하는 단계; 폐기 가능으로 표시된 모든 파일을 제거함으로써 저장 영역을 비우는 단계; 또는 제 1 파일의 클러스터를 저-성능 저장 모듈에 재 매핑하는 단계 중 어느 하나 또는 이들의 조합을 포함할 수 있다.In this method, the cluster chain masks at least the physical location of the first file, and the cluster chain of the primary FAT may point to a location in the discardable FAT. Managing the storage area of the storage device according to the discardable FAT includes recovering a storage use safety margin by selectively removing one or more files marked as discardable; Emptying the storage area by removing all files marked as discardable; Or remapping the cluster of the first file to the low-performance storage module or a combination thereof.

또한, 제 1 방법은 호스트 운영 시스템이 제 1 파일에 액세스하는 것을 방지하기 위해서 제 1 파일에 연관된 속성을 활성화하는 단계를 포함할 수 있다. 대안적으로, 제 1 방법은 저장 장치의 저장 영역에 제 2 파일을 저장하라는 요청을 수신하는 단계; 제 2 파일을 폐기 가능으로 표시하는 단계로서, 제 2 파일을 표시하는 것은 저장 장치와 연관된 파일 시스템 구조에서 행해지는 것인, 단계; 제 1 파일 및 제 2 파일에 연관된 클러스터 체인을 제 2 파일에 연관시키기 위해 저장 장치에게 주 FAT를 업데이트하게 하는 단계; 및 제 2 파일의 물리적 위치를 반영하기 위해 저장 장치에게 폐기 가능 FAT을 업데이트하게 하는 단계를 포함할 수 있다. 클러스터 체인은 제 1 파일 및 제 2 파일의 물리적 위치를 마스크할 수 있다.The first method may also include activating an attribute associated with the first file to prevent the host operating system from accessing the first file. Alternatively, the first method includes receiving a request to store a second file in a storage area of the storage device; Marking the second file as discardable, wherein marking the second file is done in a file system structure associated with the storage device; Causing 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 reflect the physical location of the second file. The cluster chain may mask the physical locations of the first file and the second file.

위에 제 1 방법은 저장 장치의 저장 영역에 제 2 파일을 저장하라는 요청을 수신하는 단계; 제 2 파일을 폐기 가능으로 표시하는 단계로서, 제 2 파일을 표시하는 것은 저장 장치와 연관된 파일 시스템 구조에서 행해지는 것인, 단계; 제 2 파일에 할당된 제 2 클러스터 체인을 제 2 파일에 연관시키기 위해 저장 장치에게 주 FAT를 업데이트하게 하는 단계; 및 제 2 파일의 물리적 위치를 반영하기 위해 저장 장치에게 폐기 가능 FAT을 업데이트하게 하는 단계를 포함할 수 있다.The first method above includes receiving a request to store a second file in a storage area of the storage device; Marking the second file as discardable, wherein marking the second file is done in a file system structure associated with the storage device; Causing 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 reflect the physical location of the second file.

대안적으로 제 1 방법은 제 1 파일을 폐기 불가 파일로 표시하는 단계로서, 제 1 파일의 표시는 저장 장치와 연관된 파일 시스템 구조에서 행해지는 것인, 단계; 제 1 파일의 물리적 위치를 반영하기 위해 저장 장치에게 주 FAT를 업데이트하게 하는 단계; 및 제 1 파일의 물리적 위치를 제거하기 위해 저장 장치에게 페기 가능 FAT를 업데이트하게 하는 단계를 포함할 수 있다. 제 1 방법의 이 대안은 제 1 파일이 폐기 가능 파일에서 폐기 불가 파일로 전환될 수 있는지 판정하기 위해서 제 1 파일에 연관된 전환 록 식별자의 값을 확인하는 단계를 더 포함할 수 있고, 제 1 파일은 제 1 파일에 연관된 전환 록 식별자의 값이 제 1 파일은 록 되지 않은 것을 나타내는 것으로 판정한 후에 폐기 불가 파일로 표시된다.Alternatively, the first method includes marking the first file as a non-discardable file, wherein the marking of the first file is done in a file system structure associated with the storage device; Causing the storage device to update the primary FAT to reflect 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. This alternative to the first method may further comprise checking a value of the conversion lock identifier associated with the first file to determine whether the first file can be converted from the discardable file to the non-disposable file, the first file Is marked as a non-discardable file after determining that the value of the switch lock identifier associated with the first file indicates that the first file is not locked.

제 1 방법의 또 다른 대안에서, 제 1 파일이 폐기 가능 파일에서 폐기 불가 파일로 전환될 수 있는지 판정하기 위해 제 1 파일에 연관된 전환 록 식별자의 값을 확인하는 단계; 및 제 1 파일에 연관된 전환 록의 값이 제 1 파일은 록 된 것을 나타내는 것으로 판정한 후에 제 1 파일을 폐기 불가로 표시하는 것을 금지하는 단계를 추가로 포함할 수 있다. 대안적으로 제 1 방법은 사용자 ID 에 연관된 파일 허락들 및 제 1 파일에 연관된 프리뷰 파일을 식별하는 단계, 및 식별된 파일 허락들에 기초하여 제 1 파일에 연관된 프리뷰 파일에의 액세스를 관리하는 단계를 포함할 수 있다. 사용자 ID는 공유된 사용자 ID일 수 있다.In yet another alternative of the first method, the method further comprises: checking a value of the switch lock identifier associated with the first file to determine whether the first file can be converted from the discardable file to the non-discardable file; And prohibiting marking the first file as discardable after determining that the value of the switch lock associated with the first file indicates that the first file is locked. Alternatively, the first method includes identifying file permissions associated with the user ID and a preview file associated with the first file, and managing access to the preview file associated with the first file based on the identified file permissions. It may include. The user ID may be a shared user ID.

제 1 방법에서, 제 1 파일을 폐기 가능으로 표시하는 단계는 제 1 파일에 폐기 우선권 레벨을 할당하는 단계를 포함할 수 있다. 또한, 제 1 파일에 폐기 우선권 레벨을 할당하는 단계는 대응하는 값을 제 1 파일에 대응하는 주 FAT 엔트리 내 m개의 최상위 비트에 설정하는 단계, 또는 대응하는 값을 제 1 파일에 대응하는 파일 시스템 엔트리 내 데이터 필드에 설정하는 단계 중 적어도 하나를 포함할 수 있다. 폐기 우선권 레벨은 제 1 파일의 예상된 사용; 파일을 사용하는 것에 연관된 예상 수익, 제 1 파일의 파일 유형, 제 1 파일의 크기, 저장 장치 내 제 1 파일의 위치, 제 1 파일의 저장 기간 중 어느 하나에 따라 제 1 파일에 할당될 수 있다.In a first method, marking the first file as discardable may include assigning a discard priority level to the first file. In addition, assigning a discarding priority level to the first file includes setting a corresponding value to the m most significant bits in the primary FAT entry corresponding to the first file, or a corresponding file system to the first file. It may include at least one of setting in the data field in the entry. The revocation priority level may include the expected use of the first file; The first file may be assigned to the first file according to any one of an expected revenue associated with using the file, a file type of the first file, a size of the first file, a location of the first file in the storage device, and a storage period of the first file. .

다른 구현에서, 저장 장치를 관리하는 제 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 storage includes receiving, at a host to which the storage device is operatively coupled, a request to store a first file in a storage area of a storage device containing a primary FAT and a disposable FAT. step; Marking the first file as discardable, wherein marking the first file is performed on a file system structure associated with the storage device; Updating the primary FAT to associate the cluster chain assigned to the first file with the first file; Updating the disposable FAT to reflect the physical location of the first file on the storage device; And managing a storage area of the storage device according to the disposable FAT. The cluster chain may mask at least the physical location of the first file. The second method may further comprise activating an attribute associated with the first file to prevent the host operating system from accessing the first file. The cluster chain of the primary FAT can point to a location within the discardable FAT.

한 변형예에서, 제 2 방법은 저장 장치의 저장 영역에 제 2 파일을 저장하라는 요청을 수신하는 단계; 저장 장치와 연관된 파일 시스템 구조에 제 2 파일을 폐기 가능으로 표시하는 단계; 제 1 파일 및 제 2 파일에 연관된 클러스터 체인을 제 2 파일에 연관시키기 위해 주 FAT를 업데이트하는 단계; 및 제 2 파일의 물리적 위치를 반영하기 위해 폐기 가능 FAT을 업데이트하는 단계를 더 포함할 수 있다. 이 변형예에서, 클러스터 체인은 제 1 파일 및 제 2 파일의 물리적 위치를 마스크할 수 있다.In one variation, the second method includes receiving a request to store a second file in a storage area of the storage device; Marking the second file as discardable in a file system structure associated with the storage device; Updating the primary FAT to associate the cluster chains associated with the first file and the second file with the second file; And updating the discardable FAT to reflect the physical location of the second file. In this variant, the cluster chain may mask the physical locations of the first file and the second file.

또 다른 구현에서, 제 2 방법은 저장 장치의 저장 영역에 제 2 파일을 저장하라는 요청을 수신하는 단계; 저장 장치와 연관된 파일 시스템 구조에서 제 2 파일을 폐기 가능으로 표시하는 단계; 제 2 파일에 할당된 제 2 클러스터 체인을 제 2 파일에 연관시키기 위해 주 FAT를 업데이트하는 단계; 및 제 2 파일의 물리적 위치를 반영하기 위해 폐기 가능 FAT을 업데이트하는 단계를 더 포함할 수 있다.In yet another implementation, a second method includes receiving a request to store a second file in a storage area of a storage device; Marking the second file as discardable in a file system structure associated with the storage device; Updating the primary FAT to associate the second cluster chain assigned to the second file with the second file; And updating the discardable FAT to reflect the physical location of the second file.

대안적으로, 제 2 방법은 저장 장치와 연관된 파일 시스템 구조에서 제 1 파일을 폐기 불가 파일로 표시하는 단계; 제 1 파일의 물리적 위치를 반영하기 위해 주 FAT을 업데이트하는 단계; 및 제 1 파일의 물리적 위치를 제거하기 위해 폐기 가능 FAT를 업데이트하는 단계를 더 포함할 수 있다. 제 2 방법의 이 대안은 제 1 파일이 폐기 가능 파일에서 폐기 불가 파일로 전환될 수 있는지 판정하기 위해서 제 1 파일에 연관된 전환 록 식별자의 값을 확인하는 단계를 더 포함할 수 있고, 제 1 파일은 제 1 파일에 연관된 전환 록 식별자의 값이 제 1 파일은 록 되지 않은 것을 나타내는 것으로 판정한 후에 폐기 불가 파일로 표시된다.Alternatively, the second method includes marking the first file as a non-discardable file in a file system structure associated with the storage device; Updating the primary FAT to reflect the physical location of the first file; And updating the discardable FAT to remove the physical location of the first file. This alternative to the second method may further comprise checking a value of the conversion lock identifier associated with the first file to determine whether the first file can be converted from the discardable file to the non-disposable file, the first file Is marked as a non-discardable file after determining that the value of the switch lock identifier associated with the first file indicates that the first file is not locked.

제 2 방법의 다른 변형은 제 1 파일이 폐기 가능 파일에서 폐기 불가 파일로 전환될 수 있는지 판정하기 위해서 제 1 파일에 연관된 전환 록 식별자의 값을 확인하는 단계; 및 제 1 파일에 연관된 전환 록의 값이 제 1 파일은 록 된 것을 나타내는 것으로 판정한 후에 제 1 파일을 폐기 불가 파일로 표시하는 것을 금지하는 단계를 더 포함한다. 제 2의 또 다른 버전은 사용자 ID에 연관된 파일 허락 및 제 1 파일에 연관된 프리뷰 파일을 식별하는 단계; 및 식별된 파일 허락에 기초하여 제 1 파일에 연관된 프리뷰 파일에의 액세스를 관리하는 단계를 더 포함한다. 사용자 ID는 공유된 사용자 ID일 수 있다.Another variant of the second method further comprises: checking a value of a switch lock identifier associated with the first file to determine whether the first file can be converted from the discardable file to the non-discardable file; And prohibiting marking the first file as a non-discardable file after determining that the value of the switch lock associated with the first file indicates that the first file is locked. Another second version includes identifying a file permission associated with the user ID and a preview file associated with the first file; And managing access to the preview file associated with the first file based on the identified file permission. The user ID may be a shared user ID.

제 2 방법에서, 제 1 파일을 폐기 가능으로 표시하는 단계는 제 1 파일에 폐기 우선권 레벨을 할당하는 단계를 포함할 수 있다. 제 1 파일에 폐기 우선권 레벨을 할당하는 단계는 대응하는 값을 제 1 파일에 대응하는 주 FAT 엔트리 내 m개의 최상위 비트에 설정하는 단계, 또는 대응하는 값을 제 1 파일에 대응하는 파일 시스템 엔트리 내 데이터 필드에 설정하는 단계 중 적어도 하나를 포함할 수 있다. 대안적으로, 폐기 우선권 레벨은 제 1 파일의 예상된 사용; 파일을 사용하는 것에 연관된 예상 수익, 제 1 파일의 파일 유형, 제 1 파일의 크기, 저장 장치 내 제 1 파일의 위치, 제 1 파일의 저장 기간 중 어느 하나에 따라 제 1 파일에 할당될 수 있다.In a second method, marking the first file as discardable may include assigning a discard priority level to the first file. Assigning a discard priority level to the first file comprises setting a corresponding value to the m most significant bits in the primary FAT entry corresponding to the first file, or setting the corresponding value in the file system entry corresponding to the first file. It may include at least one of setting in the data field. Alternatively, the discard priority level may include the expected use of the first file; The first file may be assigned to the first file according to any one of an expected revenue associated with using the file, a file type of the first file, a size of the first file, a location of the first file in the storage device, and a storage period of the first file. .

제 2 방법에서, 폐기 가능 FAT에 따라 저장 장치의 저장 영역을 관리하는 것은, 폐기 가능으로 표시된 하나 이상의 파일을 선택적으로 제거함으로써 저장 사용 안전 마진을 회복하는 단계; 폐기 가능으로 표시된 모든 파일을 제거함으로써 저장 영역을 비우는 단계; 또는 제 1 파일의 클러스터를 저-성능 저장 모듈에 재 매핑하는 단계 중 어느 하나 또는 이들의 조합을 포함할 수 있다.In a second method, managing the storage area of the storage device in accordance with the discardable FAT includes recovering a storage use safety margin by selectively removing one or more files marked as discardable; Emptying the storage area by removing all files marked as discardable; Or remapping the cluster of the first file to the low-performance storage module or a combination thereof.

저장 장치를 관리하는 저장 할당기는 저장 장치 및 저장 장치의 호스트에 인터페이스하기 위한 통신 인터페이스; 저장 장치와 연관된 파일 시스템을 저장하기 위한 저장 유닛; 및 저장 장치와 연관된 파일 시스템을 관리하기 위한 프로세서를 포함할 수 있고, 프로세서는 주 FAT 및 폐기 가능 FAT을 내포하는 저장 장치의 저장 영역에 제 1 파일을 저장하라는 요청을 수신하고; 제 1 파일을 폐기 가능으로 표시하는 것으로, 제 1 파일을 표시하는 것은 저장 장치와 연관된 파일 시스템 구조에 행해지며; 제 1 파일에 할당된 클러스터 체인을 제 1 파일에 연관시키기 위해 저장 장치에게 주 FAT를 업데이트하게 하며; 저장 장치에 제 1 파일의 물리적 위치를 반영하기 위해 저장 장치에게 폐기 가능 FAT를 업데이트하게 하며; 폐기 가능 FAT에 따라 저장 장치의 저장 영역을 관리하게 구성된다. 클러스터 체인는 제 1 파일의 물리적 위치를 마스크한다. 제 1 FAT의 클러스터 체인은 제 2 FAT 내 위치를 가리킬 수 있다.The storage allocator for managing the storage device includes a communication interface for interfacing with the storage device and a host of the storage device; A storage unit for storing a file system associated with the storage device; And a processor for managing a file system associated with the storage device, the processor receiving a request to store the first file in a storage area of the storage device containing the primary FAT and the disposable FAT; Marking the first file as discardable, wherein marking the first file is done in a file system structure associated with the storage device; Cause the storage device to update the primary FAT to associate the cluster chain assigned to the first file with the first file; Cause the storage device to update the discardable FAT to reflect the physical location of the first file on the storage device; The storage area of the storage device is configured according to the disposable FAT. The cluster chain masks the physical location of the first file. The cluster chain of the first FAT may point to a location in the second FAT.

대안적으로, 프로세서는 저장 장치의 저장 영역에 제 2 파일을 저장하라는 요청을 수신하고; 저장 장치와 연관된 파일 시스템 구조에 제 2 파일을 폐기 가능으로 표시하고; 제 1 파일 및 제 2 파일에 연관된 클러스터 체인을 제 2 파일에 연관시키기 위해 저장 장치에게 주 FAT를 업데이트하게 하고; 제 2 파일의 물리적 위치를 반영하기 위해 저장 장치에게 제 2 FAT를 업데이트하게 추가 구성될 수 있고, 폐기 가능 클러스터 체인은 제 1 파일 및 제 2 파일의 물리적 위치를 마스크한다.In the alternative, the processor receives a request to store a second file in a storage area of the storage device; Mark the second file as discardable in a file system structure associated with the storage device; Have the storage device update the primary FAT to associate the cluster chain associated with the first file and the second file with the second file; The storage device may be further configured to update the second FAT to reflect the physical location of the second file, and the discardable cluster chain masks the physical location of the first file and the second file.

위에 언급된 저장 할당기의 또 다른 변형예에서, 프로세서는 저장 장치의 저장 영역에 제 2 파일을 저장하라는 요청을 수신하고, 저장 장치와 연관된 파일 시스템 구조에 제 2 파일을 폐기 가능으로 표시하고; 제 2 파일에 할당된 제 2 클러스터 체인을 제 2 파일에 연관시키기 위해 저장 장치에게 주 FAT를 업데이트하게 하며, 제 2 파일의 물리적 위치를 반영하게 저장 장치에게 페기 가능 FAT를 업데이트하게 하도록 추가 구성된 프로세서를 구비할 수 있다. 또한, 프로세서는 제 1 파일이 폐기 가능 파일에서 폐기 불가 파일로 전환될 수 있는지 판정하기 위해서 제 1 파일에 연관된 전환 록 식별자의 값을 확인하게 추가 구성될 수 있고, 제 1 파일은 제 1 파일에 연관된 전환 록 식별자의 값이 제 1 파일은 록 되지 않은 것을 나타내는 것으로 판정한 후에 폐기 불가 파일로 표시된다.In another variation of the storage allocator mentioned above, the processor receives a request to store a second file in a storage area of the storage device and marks the second file as discardable in a file system structure associated with the storage device; A processor further configured to cause the storage device to update the primary FAT to associate the second cluster chain assigned to the second file to the second file, and cause the storage device to update the recyclable FAT to reflect the physical location of the second file. It may be provided. In addition, the processor may be further configured to verify the value of the switch lock identifier associated with the first file to determine whether the first file can be converted from the discardable file to the non-disposable file, the first file being located in the first file. After the value of the associated switch lock identifier determines that the first file is not locked, it is marked as a non-discardable file.

다른 구현에서, 저장 할당기는 제 1 파일이 폐기 가능 파일에서 폐기 불가 파일로 전환될 수 있는지 판정하기 위해서 제 1 파일에 연관된 전환 록 식별자의 값을 확인하고; 제 1 파일에 연관된 전환 록의 값이 제 1 파일은 록 된 것을 나타내는 것으로 판정한 후에 제 1 파일을 폐기 불가 파일로 표시하는 것을 금지하게 프로세서가 구성되게 할 수 있다. 대안적으로, 저장 할당기의 프로세서는 사용자 ID에 연관된 파일 허락들 및 제 1 파일에 연관된 프리뷰 파일을 식별하고; 식별된 파일 허락들에 기초하여 제 1 파일에 연관된 프리뷰 파일에의 액세스하게 추가 구성될 수 있다.In another implementation, the storage allocator checks the value of the switch lock identifier associated with the first file to determine whether the first file can be switched from the discardable file to the non-discardable file; The processor may be configured to prohibit marking the first file as a non-discardable file after determining that the value of the switch lock associated with the first file indicates that the first file is locked. In the alternative, the processor of the storage allocator identifies file permissions associated with the user ID and the preview file associated with the first file; And may be further configured to access a preview file associated with the first file based on the identified file permissions.

통신 인터페이스; 및 저장 장치와 연관된 파일 시스템을 관리하기 위한 저장 할당기를 구비하는 저장 시스템이 개시되었다. 저장 할당기는 저장 장치의 저장 영역에 하나 이상의 파일의 저장을 관리하는 프로세서를 포함할 수 있고, 프로세서는 위에 기술된 저장 할당기와 동일한 방법들로 구성된다. 서로 다른 구현에서, 저장 시스템의 저장 할당기는 호스트 또는 저장 장치에 내장될 수 있다. 저장 시스템은 통신 인터페이스를 통해 요청을 수신하기 위해서, 통신 인터페이스를 통해 수신된 제 1 파일에 연관된 하나 이상의 기록 요청들에 기초하여 제 1 파일을 저장하라는 요청을 도출하게 프로세서가 구성되도록 배열될 수 있다.Communication interface; And a storage allocator for managing a file system associated with the storage device. The storage allocator may include a processor that manages the storage of one or more files in a storage area of the storage device, which processor is configured in the same manner as the storage allocator described above. In different implementations, the storage allocator of the storage system can be embedded in a host or storage device. The storage system may be arranged such that the processor is configured to derive the request to save 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. .

저장 장치를 관리하는 제 3 방법이 개시되며, 방법은 저장 장치가 동작 가능하게 결합된 호스트에서, 저장 장치의 저장 영역에 제 1 파일을 저장하라는 요청을 수신하는 단계; 저장 장치와 연관된 파일 시스템 구조에 제 1 파일을 폐기 가능으로 표시하는 단계; 제 1 파일에 할당된 클러스터 체인을 제 1 파일에 연관시키기 위해 저장 장치에게 FAT를 업데이트하게 하는 단계; 저장 장치에 제 1 파일의 물리적 위치를 반영하기 위해 데이터베이스를 업데이트하는 단계; 및 FAT 및 데이터베이스에 따라 저장 장치의 저장 영역을 관리하는 단계를 포함한다.A third method of managing a storage device is disclosed, the method comprising: receiving, at a host to which the storage device is operatively coupled, a request to store a first file in a storage area of the storage device; Marking the first file as discardable in a file system structure associated with the storage device; Causing the storage device to update the FAT to associate the cluster chain assigned to the first file with the first file; Updating the database to reflect the physical location of the first file on the storage device; And managing a 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 of managing storage devices includes receiving, at a storage device operatively coupled to a host, a request to store a first file in a storage area of the storage device; Marking the first file as discardable, wherein marking the first file is done in a file system structure associated with the storage device; Updating the FAT to associate the cluster chain assigned to the first file with the first file; Updating the database to reflect the physical location of the first file on the storage device; And managing a 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 of managing the storage device includes the steps related to the steps of the fourth method disclosed above from the host's point of view, not from the storage device. In particular, the fifth method includes receiving, at a host to which the storage device is operatively coupled, a request to store a first file in a storage area of the storage device; Marking the first file as discardable in a file system structure associated with the storage device; Causing the storage device to update the FAT to associate the cluster chain assigned to the first file with the first file; Updating the location file to reflect the physical location of the first file on the storage device; And managing a 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 파일에 연관된 클러스터 체인의 적어도 하나의 클러스터를 포함하는 FAT에 제 1 범위 파일을 생성하는 단계; 및 FAT 및 제 1 범위 파일에 따라 저장 장치의 저장 영역을 관리하는 단계를 포함한다.A sixth method of managing a storage device includes receiving, at a host to which the storage device is operatively coupled, a request to store a first file in a storage area of the storage device; Marking the first file as discardable in a file system structure associated with the storage device; 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 chains associated with the first file in the FAT; Creating a first range file in a FAT that includes at least one cluster of a cluster chain associated with the first file; And managing a storage area of the storage device according to the FAT and the first range file.

제 6 방법은 저장 장치의 저장 영역에 제 2 파일을 저장하라는 요청을 수신하는 단계; 저장 장치와 연관된 파일 시스템 구조에 제 2 파일을 폐기 가능으로 표시하는 단계; 제 1 파일 및 제 2 파일에 연관된 클러스터 체인을 제 2 파일에 연관시키기 위해 저장 장치에게 FAT를 업데이트하게 하는 단계; 및 FAT 내에 제 2 파일에 연관된 클러스터 체인의 2 이상의 클러스터의 순서를 스크램블하는 단계를 더 포함할 수 있다. 또한, 제 6 방법은 제 2 파일에 연관된 클러스터 체인의 적어도 하나의 클러스터를 포함하는 FAT에 제 1 범위 파일을 업데이트하는 단계를 더 포함할 수 있다.The sixth method includes receiving a request to store a second file in a storage area of the storage device; Marking the second file as discardable in a file system structure associated with the storage device; Causing the storage device to update the FAT to associate the cluster chain associated with the first file and the second file with the second file; And scrambled the order of two or more clusters of the cluster chain associated with the second file in the FAT. Further, the sixth method may further comprise updating the first range file to a FAT that includes at least one cluster of the cluster chain associated with the second file.

제 6 방법의 변형예에서, 방법은 저장 장치의 저장 영역에 제 2 파일을 저장하라는 요청을 수신하는 단계; 저장 장치와 연관된 파일 시스템 구조에 제 2 파일을 폐기 가능으로 표시하는 단계; 제 2 파일에 할당된 제 2 클러스터 체인을 제 2 파일에 연관시키기 위해 저장 장치에게 FAT를 업데이트하게 하는 단계; FAT 내에 제 2 파일에 연관된 클러스터 체인의 2 이상의 클러스터의 순서를 스크램블하는 단계; 제 2 파일에 연관된 클러스터 체인의 적어도 하나의 클러스터를 포함하는 FAT에 제 2 범위 파일을 생성하는 단계를 더 포함할 수 있고, FAT 및 제 1 범위 파일에 따라 저장 장치의 저장 영역을 관리하는 것은 FAT, 제 1 범위 파일 및 제 2 범위 파일에 따라 저장 장치의 저장 영역을 관리하는 단계를 포함한다.In a variation of the sixth method, the method includes receiving a request to store a second file in a storage area of the storage device; Marking the second file as discardable in a file system structure associated with the storage device; Causing the storage device to update the FAT to associate the second cluster chain assigned to the second file with the second file; Scrambled the order of two or more clusters in the cluster chain associated with the second file in the FAT; The method may further include generating a second range file in a FAT including at least one cluster of a cluster chain associated with the second file, wherein managing the storage area of the storage device according to the FAT and the first range file is FAT. Managing a storage area of the storage device according to the first range file and the second range file.

제 6 방법의 다른 변형예에서, 방법은 제 1 범위 파일을 포함하지 않는 제 1 파일에 연관된 클러스터 체인의 적어도 하나의 클러스터를 갖는 FAT에 제 2 범위 파일을 생성하는 단계를 더 포함할 수 있고, FAT 및 제 1 범위 파일에 따라 저장 장치의 저장 영역을 관리하는 것은 FAT, 제 1 범위 파일 및 제 2 범위 파일에 따라 저장 장치의 저장 영역을 관리하는 단계를 포함한다.In another variation of the sixth method, the method may further comprise generating a second range file in a FAT having at least one cluster in a cluster chain associated with the first file that does not include the first range file, Managing the storage area of the storage device according to the FAT and the first range file includes managing the storage area of the storage device according to the FAT, the first range file and the second range file.

저장 장치를 관리하는 제 7 방법은 저장 장치가 아니라 호스트 입장에서 위에 개시된 제 6 방법의 단계들에 관계된 단계들을 포함한다. 특히, 제 7 방법은 호스트에 결합되는 저장 장치에서, 저장 장치의 저장 영역에 제 1 파일을 저장하라는 요청을 수신하는 단계; 제 1 파일을 폐기 가능으로 표시하는 단계로서, 제 1 파일을 표시하는 것은 저장 장치와 연관된 파일 시스템 구조에 행해지는 것인, 단계; 제 1 파일에 할당된 클러스터 체인을 제 1 파일에 연관시키기 위해 FAT를 업데이트하는 단계; FAT 내에 제 1 파일에 연관된 클러스터 체인의 2 이상의 클러스터의 순서를 스크램블하는 단계; 제 1 파일에 연관된 클러스터 체인의 적어도 하나의 클러스터를 포함하는 FAT에 제 1 범위 파일을 생성하는 단계; 및 FAT 및 제 1 범위 파일에 따라 저장 장치의 저장 영역을 관리하는 단계를 포함할 수 있다. 제 7 방법의 변형예는 위에 언급된 제 6 방법의 예와 유사하다.The seventh method of managing the storage device includes the steps related to the steps of the sixth method disclosed above from the host's point of view, not from the storage device. In particular, the seventh method includes receiving, at a storage device coupled to a host, a request to store a first file in a storage area of the storage device; Marking the first file as discardable, wherein marking the first file is done in a file system structure associated with the storage device; Updating 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 chains associated with the first file in the FAT; Creating a first range file in a FAT that includes at least one cluster of a cluster chain associated with the first file; And managing a storage area of the storage device according to the FAT and the first range file. A variant of the seventh method is similar to the example of the sixth method mentioned above.

제 8 방법에 따라서, 저장 장치가 동작 가능하게 결합된 호스트에서 폐기 가능 파일에 연관된 동작을 관리하는 방법은 저장 장치와 연관된 파일 시스템 구조에 폐기 가능으로 표시된 파일을 포함하는 폐기 가능 파일에 소유자 사용자 ID를 연관시키는 단계; 소유자 사용자 ID에 연관된 애플리케이션으로, 폐기 가능 파일에 연관된 추가의 사용자 ID에 대한 한 세트의 허락들을 정의하는 단계; 추가의 사용자 ID에 연관된 애플리케이션으로부터 폐기 가능 파일에 연관된 동작을 수행하라는 요청을 수신하는 단계; 추가의 사용자 ID에 연관된 애플리케이션이 한 세트의 허락들에 기초하여 동작을 수행할 수 있는지를 판정하는 단계; 및 판정에 기초하여 폐기 가능 파일에 연관된 동작을 관리하는 단계를 포함한다.According to an eighth method, a method for managing operations associated with a discardable file on a host to which the storage device is operatively coupled includes an owner user ID in a discardable file that includes a file marked as discardable in a file system structure associated with the storage device. Associating; Defining, with an application associated with the owner user ID, a set of permissions for additional user IDs associated with the discardable file; Receiving a request from an application associated with the additional user ID to perform an operation associated with the discardable file; Determining whether an application associated with the additional user ID can perform an action based on a set of permissions; And managing an action associated with the discardable file based on the determination.

제 8 방법의 변형예에서, 소유자 사용자 ID에 연관된 애플리케이션은 폐기 가능 파일을 저장 장치에 다운로드 할 수 있다. 대안적으로, 폐기 가능 파일에 연관된 동작은 폐기 가능 파일에 연관된 속성을 수정하는 단계를 포함할 수 있다. 제 8 방법의 다른 변형예에서, 방법은 폐기 가능 파일에 연관된 속성을 판독하는 단계를 더 포함할 수 있다. 속성은 전환 록 식별자, 시간 스탬프, 소비 의향 URI(universal resource indicator), 또는 우선권 레벨 중 적어도 하나일 수 있다. 제 8 방법의 다른 변형예에서, 동작은 폐기 가능 파일을 판독하는 것, 폐기 가능 파일에 기록하는 것, 폐기 가능 파일에 연관된 프리뷰 데이터를 기록하는 것, 또는 폐기 가능 파일에 연관된 프리뷰 데이터를 판독하는 것을 포함할 수 있다. 폐기 가능 파일은 프리뷰 데이터를 포함할 수도 있고 또는 서로 다른 구현에서 프리뷰 데이터와는 구별될 수도 있다.In a variation of the eighth method, the application associated with the owner user ID can download the discardable file to the storage device. Alternatively, the operation associated with the disposable file may include modifying an attribute associated with the disposable file. In another variation of the eighth method, the method may further comprise reading an attribute associated with the discardable file. The attribute may be at least one of a switch lock identifier, a time stamp, a consumption intention universal resource indicator (URI), or a priority level. In another variant of the eighth method, the operation may include reading the disposable file, writing to the disposable file, writing preview data associated with the disposable file, or reading preview data associated with the disposable file. It may include. The discardable file may include preview data or may be distinguished from preview data in different implementations.

제 8 방법의 추가 사용자 ID는 복수의 사용자에 연관된 공유된 사용자 ID일 수 있다. 대안적으로, 제 8 방법의 추가의 사용자 ID는 복수의 애플리케이션들에 연관된 공유된 사용자 ID일 수 있다. 제 8 방법의 한 추가의 변형예에서, 판정에 기초하여 폐기 가능 파일에 연관된 동작을 관리하는 단계는 추가의 사용자 ID에 연관된 애플리케이션이 폐기 가능 파일에 연관된 동작을 수행하는 것을 금지시키는 단계를 포함할 수 있다. 또 다른 추가의 변형예에서, 판정에 기초하여 폐기 가능 파일에 연관된 동작을 관리하는 단계는 추가의 사용자 ID에 연관된 애플리케이션이 폐기 가능 파일에 연관된 동작을 수행할 수 있게 하는 단계를 포함한다.The additional user ID of the eighth method may be a shared user ID associated with the plurality of users. Alternatively, the additional user ID of the eighth method may be a shared user ID associated with the plurality of applications. In one further variant of the eighth method, managing the action associated with the discardable file based on the determination may include inhibiting an application associated with the further user ID from performing the action associated with the discardable file. Can be. In yet further variations, managing the action associated with the discardable file based on the determination includes enabling an application associated with the additional user ID to perform an action associated with the discardable file.

또한, 저장 장치와 연관된 파일 시스템을 관리하기 위해 통신 인터페이스 및 저장 할당기를 구비하는 저장 시스템이 고찰된다. 저장 할당기는 저장 장치에 저장되는 폐기 가능 파일에 연관된 동작들을 관리하는 프로세서를 포함할 수 있고, 프로세서는 저장 장치와 연관된 파일 시스템 구조에 폐기 가능으로 표시된 파일을 포함하는 폐기 가능 파일에 소유자 사용자 ID를 연관시키고; 소유자 사용자 ID에 연관된 애플리케이션으로, 폐기 가능 파일에 연관된 추가의 사용자 ID에 대한 한 세트의 허락들을 정의하고; 추가의 사용자 ID에 연관된 애플리케이션으로부터 폐기 가능 파일에 연관된 동작을 수행하라는 요청을 통신 인터페이스를 통해 수신하고; 추가의 사용자 ID에 연관된 애플리케이션이 한 세트의 허락들에 기초하여 동작을 수행할 수 있는지를 판정하고; 판정에 기초하여 폐기 가능 파일에 연관된 동작을 관리하게 구성된다. 폐기 가능 파일에 연관된 동작을 관리하기 위해서, 프로세서는 추가의 사용자 ID에 연관된 애플리케이션이 폐기 가능 파일에 연관된 프리뷰 데이터를 판독할 수 있게 구성될 수 있다. 추가의 사용자 ID는 복수의 사용자에 연관된 공유된 사용자 ID 또는 복수의 애플리케이션들에 연관된 공유된 사용자 ID일 수 있다.Also contemplated is a storage system having a communication interface and a storage allocator for managing file systems associated with the storage device. The storage allocator may include a processor that manages operations associated with the discardable file stored on the storage device, and the processor assigns an owner user ID to the discardable file that includes the file marked as discardable in the file system structure associated with the storage device. To associate; An application associated with the owner user ID, defining a set of permissions for additional user IDs associated with the discardable file; Receive, via the communication interface, a request from the application associated with the additional user ID to perform an operation associated with the discardable file; Determine whether an application associated with the additional user ID can perform an action based on a set of permissions; And manage operations associated with the discardable file based on the determination. 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 the plurality of users or a shared user ID associated with the plurality of applications.

저장 장치를 관리하기 위한 제 9 방법은 저장 장치가 동작 가능하게 결합된 호스트에서, 저장 장치에 프리뷰 데이터를 저장하는 단계; 저장 장치와 연관된 파일 시스템 구조에 폐기 가능으로 표시된 파일인 폐기 가능 파일에 프리뷰 데이터를 연관시키는 단계; 애플리케이션을 프리뷰 데이터에 액세스하게 허용하나 폐기 가능 파일에 액세스하는 것을 허용하지 않게 프리뷰 데이터 및 폐기 가능 파일에의 액세스를 관리하는 단계를 포함한다. 폐기 가능 파일은 프리뷰 데이터와는 구별되는 프리뷰 데이터일 수 있다. 제 9 방법의 한 대안적 구현에서, 폐기 가능 파일은 영화일 수 있고 프리뷰 데이터는 영화에 연관된 영화 트레일러일 수 있고, 폐기 가능 파일은 텔레비전 프로그램일 수 있고, 프리뷰 데이터는 텔레비전 프로그램의 일부일 수 있고, 폐기 가능 파일은 음악 데이터일 수 있고, 프리뷰 데이터는 음악 데이터의 일부일 수 있고, 또는 폐기 가능 파일은 프로그램일 수 있고, 프리뷰 데이터는 프로그램의 데모 버전일 수 있다.A ninth method for managing a storage device comprises: storing preview data in the storage device at a host to which the storage device is operatively coupled; Associating preview data with a discardable file that is a file marked as discardable in a file system structure associated with the storage device; Managing access to the preview data and the discardable file to allow the application to access the preview data but not to access the discardable file. The discardable file may be preview data that is distinct from the preview data. In an alternative implementation of the ninth method, the discardable file may be a movie and the preview data may be a movie trailer associated with the movie, the discardable file may be a television program, the preview data may be part of a television program, The discardable file may be music data, the preview data may be part of the music data, or the discardable file may be a program, and the preview data may be a demo version of the program.

제 9 방법의 한 가지 대안적 구현에서, 애플리케이션을 프리뷰 데이터에 액세스하게 허용하나 폐기 가능 파일에 액세스하는 것을 허용하지 않게 프리뷰 데이터 및 폐기 가능 파일에의 액세스를 관리하는 단계는 폐기 가능 파일에 연관된 출시일 전에 한 기간동안 애플리케이션을 프리뷰 데이터에 액세스하게 허용하나 폐기 가능 파일에 액세스하는 것을 허용하지 않게 프리뷰 데이터 및 폐기 가능 파일에의 액세스를 관리하는 단계를 포함할 수 있다.
In one alternative implementation of the ninth method, managing access to the preview data and the discardable file to allow the application to access the preview data but not to access the discardable file includes a release date associated with the discardable file. Managing access to the preview data and the discardable file before allowing the application to access the preview data for a period of time but not accessing the discardable file.

다운로드 관리Download management

위에 기술된, 스마트 캐싱 및 스마트 캐싱 HD라고도 하는, 데이터 관리 방법들에 더하여, 저장 장치의 저장 영역에 폐기 가능 파일의 다운로드를 관리하는 스마트 캐시 기술들이 제공된다. 일반적으로, 일부 구현에서 위에 기술된 저장 할당기의 일부일 수 있는 다운로드 관리자는 이를테면 저장 장치에 폐기 가능 파일을 다운로드하는데 사용할 수 있는 네트워크의 유형, 저장 장치에 이용할 수 있는 파워 상태, 저장 장치에 폐기 가능 파일을 다운로드하라는 요청과 연관된 시간, 및/또는 저장 장치와 연관된 가용한 저장량과 같은 다운로드 상태들에 기초하여, 폐기 가능 파일의 저장 장치의 저장 영역에 다운로드를 지연시킬지 여부를 판정할 수 있다.In addition to the data management methods, also referred to above as smart caching and smart caching HD, smart cache techniques are provided to manage the download of discardable files in a storage area of the storage device. In general, a download manager, which may be part of the storage allocator described above in some implementations, such as the type of network that can be used to download disposable files to the storage device, the power state available to the storage device, and the discardable storage device. Based on the download status, such as the time associated with the request to download the file and / or available storage associated with the storage device, it may be determined whether to delay the download to the storage area of the storage device of the discardable file.

예를 들어, 다운로드 관리자는 폐기 가능 파일을 다운로드하기 위해 WiFi 네트워크 및/또는 셀룰라 네트워크가 사용 가능할 때까지 폐기 가능 파일의 다운로드를 지연시키기로 결정할 수 있다. 유사하게, 다운로드 관리자는 장치가 전원 에 결합되어 있거나 저장 장치와 연관된 배터리의 파워 레벨이 소정의 레벨 이상인 동안엔 폐기 가능 파일의 다운로드를 지연시키지 않을 것으로 결정할 수 있으나, 다운로드 관리자는 저장 장치와 연관된 배터리가 충전중이고/이거나, 저장 장치와 연관된 배터리의 파워 레벨이 소정의 레벨 미만인 동안엔 폐기 가능 파일의 다운로드를 지연시키기로 결정할 수 있다. 또한, 다운로드 관리자는 네트워크 혼잡이 높을 수 있는 업무시간동안 요청되는 폐기 가능 파일의 다운로드를 네트워크가 혼합하지 않을 때인 이를테면 오후 8시 이후와 같은 저녁 시간까지 지연시키기로 결정할 수도 있으며, 또는 다운로드 관리자는 근무 주간동안 한 날에 요청된 폐기 가능 파일의 다운로드를 주말동안 한 날까지 지연시키기로 결정할 수도 있다. 또한, 다운로드 관리자는 저장 장치의 저장 영역 에 폐기 가능 파일을 저장하기 전에 저장 장치에 가용한 저장량이 소정의 레벨 이상이 될 때까지 폐기 가능 파일을 다운로드하는 것을 지연시킬 수도 있다.For example, the download manager may decide to delay the download of the discardable file until the WiFi network and / or cellular network are available to download the discardable file. Similarly, the download manager may determine not to delay the download of discardable files while the device is coupled to a power source or the power level of the battery associated with the storage device is above a predetermined level, but the download manager may not delay the download of the discardable file. May charge, and / or delay the download of the discardable file while the power level of the battery associated with the storage device is below a predetermined level. In addition, the download manager may decide to delay the download of discarded files that are requested during business hours during which network congestion may be high until evening, such as when the network is not mixed, such as after 8 pm, or the download manager may You may decide to delay the download of the discardable file requested on one day by one day during the weekend. In addition, the download manager may delay downloading the discardable file until the amount of storage available in the storage device is above a predetermined level before storing the discardable file in the storage area of the storage device.

도 28은 저장 장치의 저장 영역에 폐기 가능 파일의 다운로드를 관리하는 방법의 흐름도이다. 단계(2802)에서, 저장 장치의 저장 영역에 파일을 저장하라는 요청이 수신되며, 파일은 폐기 가능 파일이며 저장 장치와 연관된 데이터 구조에 데이터와 연관된다. 일부 구현에서, 데이터 구조는 파일 시스템 구조를 포함할 수 있다. 단계(2804)에서, 파일은 "폐기 가능 파일"로 표시된다. 일부 구현에서, 데이터 구조의 파일 시스템 구조는 파일이 폐기 가능 파일임을 나타내도록 표시된다. 다른 구현에서, 파일 자체는 파일이 폐기 가능 파일임을 나타내도록 표시된다.28 is a flowchart of a method of managing download of discardable files in a storage area of a storage device. In step 2802, a request is received to store a file in a storage area of the storage device, where the file is a disposable file and associated with data in a data structure associated with the storage device. In some implementations, the data structure can include a file system structure. In step 2804, the file is marked as "disposable file." In some implementations, the file system structure of the data structure is indicated to indicate that the file is a discardable file. In another implementation, the file itself is marked to indicate that the file is a discardable file.

단계(2806)에서, 일부 구현에서 저장 할당기의 일부일 수 있는 다운로드 관리자는 저장 장치의 저장 영역에 폐기 가능 파일을 저장하라는 요청과 연관된 다운로드 상태를 판정한다. 예를 들어, 다운로드 관리자는 저장 장치에 폐기 가능 파일을 다운로드하기 위해 사용할 수 있는 네트워크의 유형, 저장 장치에 폐기 가능 파일을 다운로드할 때 저장 장치에 이용할 수 있는 파워 상태, 저장 장치의 저장 영역에 폐기 가능 파일을 저장하라는 요청과 연관된 시각을 판정할 수 있고, 및/또는 저장 장치에 가용한 저장 공간량을 판정할 수 있다.In step 2806, the download manager, which may be part of the storage allocator in some implementations, determines the download status associated with the request to store the discardable file in a storage area of the storage device. For example, the download manager can use the type of network that can be used to download discardable files to the storage device, the power state available to the storage device when downloading the discardable files to the storage device, and discard them to the storage area of the storage device. The time associated with the request to store the possible file may be determined and / or the amount of storage space available to the storage device may be determined.

단계(2808)에서, 다운로드 관리자는 판정된 다운로드 상태에 기초하여 폐기 가능 파일의 저장 장치에 다운로드를 지연시킬지 여부를 판정하며, 단계(2810)에서, 다운로드 관리자는 저장 장치에 폐기 가능 파일의 다운로드를 지연시킬지 여부의 결정에 기초하여 저장 장치에 폐기 가능 파일의 다운로드를 관리하다. 단계(2810)에서, 다운로드 관리자는 다운로드 상태와 연관된 파라미터가 만족될 때까지 저장 장치에 폐기 가능 파일의 다운로드를 지연시킬 수 있다. 예를 들어, 다운로드 관리자는 저장 장치에 폐기 가능 파일을 다운로드하기 위해 WiFi 네트워크 및/또는 셀룰라 네트워크가 사용 가능할 때까지 폐기 가능 파일의 다운로드를 지연시킬 수 있고, 다운로드 관리자는 저장 장치가 전원에 결합되거나 저장 장치와 연관된 배터리의 파워 레벨이 소정의 레벨 이상이 될 때까지 폐기 가능 파일의 다운로드를 지연시킬 수 있고, 및/또는 다운로드 관리자는 저장 장치의 저장 영역에 폐기 가능 파일을 저장하기 전에 저장 장치에 가용한 저장량이 소정의 레벨 이상이 될 때까지 폐기 가능 파일의 다운로드를 지연시킬 수 있다.In step 2808, the download manager determines whether to delay the download to the storage of discardable files based on the determined download state, and in step 2810, the download manager downloads the discardable files to the storage device. Manage the download of discardable files to the storage device based on the determination of whether to delay. In step 2810, the download manager may delay the download of the discardable file to the storage device until a parameter associated with the download state is satisfied. For example, the download manager may delay the download of the discardable file until the WiFi network and / or cellular network are available to download the discardable file to the storage device, which may cause the storage device to be coupled to a power source, or The download of the discardable file may be delayed until the power level of the battery associated with the storage device is above a predetermined level, and / or the download manager may save the discardable file to the storage device before storing it in the storage area of the storage device. The download of the discardable file can be delayed until the available storage amount is above a predetermined level.

단계(2812)에서, 다운로드 관리자를 포함할 수 있는 저장 할당기는 위에 기술된 바와 같이 파일이 폐기 가능 파일임을 표시한 것에 기초하여 저장 장치의 저장 영역에, 다운로드된 폐기 가능 파일의 저장을 관리한다.In step 2812, a storage allocator, which may include a download manager, manages storage of downloaded discardable files in a storage area of the storage device based on indicating that the file is a disposable file as described above.

일부 구현에서, 하나 이상의 프로세서들은 컴퓨터-판독가능 비-일시적 저장 매체와 같은 메모리에 저장된 명령들에 기초하여 도 28에 관련하여 위에 기술된 동작들을 수행하게 구성될 수 있다. 하나 이상의 프로세서들은 호스트, 저장 장치, 또는 이들의 조합에 위치될 수 있다.In some implementations, one or more processors can be configured to perform the operations described above with respect to FIG. 28 based on instructions stored in a memory, such as a computer-readable non-transitory storage medium. One or more processors may be located in a host, a storage device, or a combination thereof.

파일을 표시하고 연관된 파일 시스템에서 폐기 레벨들을 이들에 할당하는 여기에 개시된 방법은 많은 유용한 애플리케이션들을 가질 수 있는데, 이들 중 하나는 사용자 파일을 위한 충분한 저장 공간을 보증하기 위해 저장 사용 안전 마진을 회복하는 것임에 유의한다. 예를 들어, 파일에 할당되는 폐기 레벨은 파일 클러스터를 저성능 플래시 모듈에 재 매핑하거나, 요청시 클러스터를 클리어하기 위해 사용될 수 있다.The method disclosed herein of displaying files and assigning revocation levels to them in the associated file system can have many useful applications, one of which is to recover the storage usage safety margin to ensure sufficient storage space for user files. Note that For example, the discard level assigned to a file can be used to remap the file cluster to a low performance flash module or to clear the cluster on demand.

단수 표현은 여기에서는 문맥에 따라 하나 또는 하나 이상의(즉, 적어도 하나)을 나타내기 위해 사용한 것이다. 예로서, 문맥에 따라, "요소"는 하나의 요소 또는 하나 이상의 요소를 의미할 수 있다. "포함하다"라는 용어는 여기에서는 " 포함하지만 이에 제한되는 것은 아니다"를 의미하고 이와 상호교환적으로 사용된다. "또는"과 "및"이라는 용어는 본 명세서에서는 문맥이 명백히 다른 것을 나타내지 않는 한, "및/또는"이라는 용어와 상호교환적으로 사용된다. "이를테면"이라는 용어는 본 명세서에서는 "이를테면, 그러나 이에 제한되는 것은 아니다"를 의미하고 이와 상호교환적으로 사용된다.Singular expression is used herein to refer to one or more (ie at least one) depending on the context. By way of example, depending on the context, an “element” may mean one element or more than one element. The term "comprises" is used herein to mean "including but not limited to" and is used interchangeably. The terms "or" and "and" are used herein interchangeably with the terms "and / or" unless the context clearly indicates otherwise. The term "such as" is used herein to mean "but not limited to," and is used interchangeably herein.

이와 같이 발명의 실시예를 기술하였으며 개시된 실시예의 수정은 발명의 범위 내에 있을 것임이 당업자에게 명백할 것이다. 따라서, 대안적 실시예는 더 많은 모듈, 더 적은 모듈들 및/또는 기능적으로 동등한 모듈을 포함할 수 있다. 본 개시된 바는 이를테면 SD-구동 플래시 메모리 카드, 플래시 저장 장치, 비-플래시 저장 장치, USB(Universal Serial Bus) 인터페이스가 구비된 "디스크-온-키" 장치, USB 플래시 드라이브("UFDs"), 멀티미디어 카드("MMC"), 시큐어 디지털("SD"), 미니 SD, 및 마이크로 SD 등과 같은 다양한 유형의 대량 저장 장치에 관계된 것이다. 다음의 청구항의 범위는 여기에 개시된 바에 의해 제한되지 않는다. 그러므로, 전술한 상세한 설명은 제한하기 위한 것이 아니라, 예시적인 것으로 간주되고 모든 등가물을 포함하는 다음 청구항은 이 발명의 사상과 범위를 정의하기 위한 것이다.As such, it will be apparent to those skilled in the art that embodiments of the invention have been described and modifications of the disclosed embodiments will fall within the scope of the invention. Thus, alternative embodiments may include more modules, fewer modules, and / or functionally equivalent modules. The present disclosure includes, for example, 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 ("UFDs"), It relates to various types of mass storage devices such as multimedia cards ("MMC"), secure digital ("SD"), mini SD, micro SD, and the like. The scope of the following claims is not limited by the disclosure herein. The following detailed description, therefore, is not to be taken in a limiting sense, and the following claims, which are regarded as illustrative and include all equivalents, are intended to define the spirit and scope of the present invention.

Claims (28)

저장 장치를 관리하는 방법에 있어서,
저장 장치가 동작 가능하게 결합된 호스트에서,
상기 저장 장치의 저장 영역에 파일을 저장하라는 요청을 수신하는 단계로서, 상기 파일은 폐기 가능 파일이고, 상기 저장 장치와 연관된 데이터 구조 내 데이터와 상기 파일을 연관시키는, 상기 단계와,
상기 파일을 "폐기 가능 파일(discardable file)"로 표시하는 단계와,
상기 저장 장치의 저장 영역에 상기 폐기 가능 파일을 저장하라는 요청과 관련된 다운로드 상태를 판정하는 단계와,
상기 판정된 다운로드 상태에 기초하여 상기 저장 장치에 상기 폐기 가능 파일의 다운로드를 지연시킬지 여부를 판정하는 단계와,
상기 저장 장치에 상기 폐기 가능 파일의 다운로드를 지연시킬지 여부의 판정에 기초하여 상기 저장 장치에 폐기 가능 파일의 다운로드를 관리하는 단계와,
상기 파일이 폐기 가능 파일이라는 표시에 기초하여 상기 저장 장치의 저장 영역에 상기 다운로드된 폐기 가능 파일의 저장을 관리하는 단계를
포함하는, 저장 장치 관리 방법.
In the method of managing the storage device,
On the host where the storage device is operatively coupled,
Receiving a request to store a file in a storage area of the storage device, the file being a discardable file, associating the file with data in a data structure associated with the storage device;
Marking the file as a "discardable file";
Determining a download state associated with a request to store the discardable file in a storage area of the storage device;
Determining whether to delay downloading of the discardable file to the storage device based on the determined download state;
Managing download of the discardable file on the storage device based on the determination of whether to delay the download of the discardable file to the storage device;
Managing storage of the downloaded discardable file in a storage area of the storage device based on an indication that the file is a discardable file;
A storage device management method comprising.
제 1항에 있어서, 상기 폐기 가능 파일의 상기 다운로드를 관리하는 단계는, 상기 다운로드 상태와 연관된 파라미터가 만족될 때까지 상기 저장 장치에 상기 폐기 가능 파일의 다운로드를 지연시키는 단계를 포함하는, 저장 장치 관리 방법.The storage device of claim 1, wherein managing the download of the discardable file comprises delaying the download of the discardable file to the storage device until a parameter associated with the download state is satisfied. How to manage. 제 1항에 있어서, 상기 저장 장치의 저장 영역에 폐기 가능 파일을 저장하라는 상기 요청과 연관된 다운로드 상태를 판정하는 단계는, 상기 저장 장치에 상기 폐기 가능 파일을 다운로드하는데 사용할 수 있는 네트워크의 유형을 판정하는 단계를 포함하는, 저장 장치 관리 방법.The method of claim 1, wherein determining a download status associated with the request to store discardable files in a storage area of the storage device further comprises determining a type of network that can be used to download the discardable files to the storage device. And storing the storage device. 제 3항에 있어서, 상기 저장 장치에 상기 폐기 가능 파일을 다운로드하는데 사용할 수 있는 네트워크의 유형을 판정하는 단계는, 상기 저장 장치에 상기 폐기 가능 파일을 다운로드하기 위해 WiFi(wireless fidelity) 네트워크가 사용될 수 있는지 판정하는 단계를 포함하는, 저장 장치 관리 방법.4. The method of claim 3, wherein determining the type of network that can be used to download the discardable file to the storage device may include using a wireless fidelity network to download the discardable file to the storage device. Determining whether there is a storage device management method. 제 3항에 있어서, 상기 저장 장치에 상기 폐기 가능 파일을 다운로드하는데 사용할 수 있는 네트워크의 유형을 판정하는 단계는, 상기 저장 장치에 상기 폐기 가능 파일을 다운로드하기 위해 셀룰라 네트워크가 사용될 수 있는지 판정하는 단계를 포함하는, 저장 장치 관리 방법.4. The method of claim 3, wherein determining the type of network that can be used to download the discardable file to the storage device comprises: determining whether a cellular network can be used to download the discardable file to the storage device. Comprising a storage device management method. 제 1항에 있어서, 상기 저장 장치의 저장 영역에 폐기 가능 파일을 저장하라는 상기 요청과 연관된 다운로드 상태를 판정하는 단계는, 상기 저장 장치에 상기 폐기 가능 파일을 다운로드할 때 상기 저장 장치에 이용할 수 있는 파워 상태를 판정하는 단계를 포함하는, 저장 장치 관리 방법.The method of claim 1, wherein determining a download state associated with the request to store discardable files in a storage area of the storage device is available to the storage device when downloading the discardable files to the storage device. Determining the power state. 제 6항에 있어서, 상기 저장 장치에 상기 폐기 가능 파일을 다운로드할 때 상기 저장 장치에 이용할 수 있는 파워 상태를 판정하는 단계는, 상기 저장 장치가 전원에 결합된 것을 판정하는 단계를 포함하는, 저장 장치 관리 방법.7. The method of claim 6, wherein determining the power state available to the storage device when downloading the discardable file to the storage device comprises determining that the storage device is coupled to a power source. How to manage your device. 제 6항에 있어서, 상기 저장 장치에 상기 폐기 가능 파일을 다운로드할 때 상기 저장 장치에 이용할 수 있는 파워 상태를 판정하는 단계는, 상기 저장 장치와 연관된 배터리가 충전되는 것을 판정하는 단계를 포함하는, 저장 장치 관리 방법.The method of claim 6, wherein determining the power state available for the storage device when downloading the discardable file to the storage device includes determining that a battery associated with the storage device is charged. How to manage storage devices. 제 6항에 있어서, 상기 저장 장치에 상기 폐기 가능 파일을 다운로드할 때 상기 저장 장치에 이용할 수 있는 파워 상태를 판정하는 단계는, 상기 저장 장치와 연관된 배터리의 파워 레벨이 소정의 레벨 이상임을 판정하는 단계를 포함하는, 저장 장치 관리 방법.7. The method of claim 6, wherein determining the power state available for the storage device when downloading the discardable file to the storage device comprises determining that the power level of a battery associated with the storage device is greater than or equal to a predetermined level. And storing the storage device. 제 1항에 있어서, 상기 저장 장치의 저장 영역에 폐기 가능 파일을 저장하라는 상기 요청과 연관된 다운로드 상태를 판정하는 단계는, 상기 저장 장치의 저장 영역에 폐기 가능 파일을 저장하라는 상기 요청과 연관된 시각(time of day)을 판정하는 단계를 포함하는, 저장 장치 관리 방법.2. The method of claim 1, wherein determining a download state associated with the request to store discardable files in the storage area of the storage device comprises: time associated with the request to store discardable files in the storage area of the storage device. determining a time of day). 제 1항에 있어서, 상기 저장 장치의 저장 영역에 폐기 가능 파일을 저장하라는 상기 요청과 연관된 다운로드 상태를 판정하는 단계는, 상기 저장 장치의 저장 영역에 상기 폐기 가능 파일을 저장하기 전에 상기 저장 장치에 사용 가능한 저장량이 소정의 레벨 이상임을 판정하는 단계를 포함하는, 저장 장치 관리 방법.2. The method of claim 1, wherein determining a download state associated with the request to store discardable files in the storage area of the storage device comprises: storing the discardable files in the storage area of the storage device before storing them in the storage area. And determining that the available storage amount is above a predetermined level. 제 1항에 있어서, 상기 데이터 구조는 상기 저장 장치와 연관된 파일 시스템 구조를 포함하는, 저장 장치 관리 방법.The method of claim 1, wherein the data structure comprises a file system structure associated with the storage device. 제 12항에 있어서, 상기 파일 시스템 구조는 상기 파일이 폐기 가능 파일임을 나타내도록 표시되는, 저장 장치 관리 방법.13. The method of claim 12, wherein the file system structure is displayed to indicate that the file is a discardable file. 제 1항에 있어서, 상기 파일이 폐기 가능 파일임을 나타내기 위해 상기 파일 자체가 표시되는, 저장 장치 관리 방법.The method of claim 1, wherein the file itself is displayed to indicate that the file is a discardable file. 저장 시스템에 있어서,
통신 인터페이스와,
저장 장치의 저장 영역에 하나 이상의 파일의 저장을 관리하는 프로세서로서, 상기 프로세서는,
상기 저장 장치의 저장 영역에 파일을 저장하라는 요청을 수신하는 것으로서, 상기 파일은 폐기 가능 파일이고, 상기 저장 장치와 연관된 데이터 구조 내 데이터와 상기 파일을 연관시키는, 상기 저장 장치의 저장 영역에 파일을 저장하라는 요청을 수신하고,
상기 파일을 "폐기 가능 파일"로 표시하며,
상기 저장 장치의 저장 영역에 폐기 가능 파일을 저장하라는 상기 요청과 연관된 다운로드 상태를 판정하고,
상기 판정된 다운로드 상태에 기초하여 상기 저장 장치에 상기 폐기 가능 파일의 다운로드를 지연시킬지 여부를 판정하며,
상기 저장 장치에 상기 폐기 가능 파일의 다운로드를 지연시킬지 여부의 판정에 기초하여 상기 저장 장치에 폐기 가능 파일의 다운로드를 관리하고,
상기 파일이 폐기 가능 파일이라는 표시에 기초하여 상기 저장 장치의 저장 영역에 상기 다운로드된 폐기 가능 파일의 저장을 관리하도록
구성된, 상기 프로세서를
포함하는, 저장 시스템.
In a storage system,
Communication interface,
A processor for managing storage of one or more files in a storage area of a storage device, the processor comprising:
Receiving a request to store a file in a storage area of the storage device, wherein the file is a discardable file and associates the file with data in a data structure associated with the storage device. Receive a request to save,
Mark the file as "disposable file",
Determine a download state associated with the request to store a discardable file in a storage area of the storage device,
Determine whether to delay downloading of the discardable file to the storage device based on the determined download state,
Manage the download of the discardable file on the storage device based on the determination of whether to delay the download of the discardable file to the storage device,
To manage storage of the downloaded discardable file in a storage area of the storage device based on an indication that the file is a discardable file
Configured, the processor
Including, storage system.
제 15항에 있어서, 상기 폐기 가능 파일의 다운로드를 관리하기 위해서, 상기 프로세서는, 상기 다운로드 상태와 연관된 파라미터가 만족될 때까지 상기 저장 장치에 상기 폐기 가능 파일의 다운로드를 지연하도록 추가 구성된, 저장 시스템.The storage system of claim 15, wherein to manage download of the discardable file, the processor is further configured to delay the download of the discardable file to the storage device until a parameter associated with the download state is satisfied. . 제 15항에 있어서, 상기 저장 장치의 저장 영역에 폐기 가능 파일을 저장하라는 상기 요청과 연관된 다운로드 상태를 판정하기 위해서, 상기 프로세서는, 상기 저장 장치에 상기 폐기 가능 파일을 다운로드하는데 사용할 수 있는 네트워크의 유형을 판정하도록 추가 구성된, 저장 시스템.The network of claim 15, wherein the processor is configured to determine a download state associated with the request to store the discardable file in a storage area of the storage device that the processor can use to download the discardable file to the storage device. A storage system, further configured to determine the type. 제 17항에 있어서, 상기 저장 장치에 상기 폐기 가능 파일을 다운로드하는데 사용할 수 있는 네트워크의 유형을 판정하기 위해서, 상기 프로세서는, 상기 저장 장치에 상기 폐기 가능 파일을 다운로드하기 위해 WiFi(wireless fidelity) 네트워크가 사용될 수 있는지 판정하도록 추가 구성된, 저장 시스템.18. The method of claim 17, wherein to determine the type of network that can be used to download the discardable file to the storage device, the processor is configured to: a wireless fidelity (WiFi) network to download the discardable file to the storage device. The storage system is further configured to determine if it can be used. 제 17항에 있어서, 상기 저장 장치에 상기 폐기 가능 파일을 다운로드하는데 사용할 수 있는 네트워크의 유형을 판정하기 위해서, 상기 프로세서는, 상기 저장 장치에 상기 폐기 가능 파일을 다운로드하기 위해 셀룰라 네트워크가 사용될 수 있는지 판정하도록 추가 구성된, 저장 시스템.18. The method of claim 17, wherein to determine the type of network that can be used to download the discardable file to the storage device, the processor determines whether a cellular network can be used to download the discardable file to the storage device. And further configured to determine. 제 15항에 있어서, 상기 저장 장치의 저장 영역에 상기 폐기 가능 파일을 저장하라는 요청과 연관된 다운로드 상태를 파정하기 위해서, 상기 프로세서는, 상기 저장 장치에 상기 폐기 가능 파일을 다운로드할 때 상기 저장 장치에 이용할 수 있는 파워 상태를 판정하도록 추가 구성된, 저장 시스템.16. The processor of claim 15, wherein the processor is configured to download the discardable file to the storage device to determine a download state associated with the request to store the discardable file in a storage area of the storage device. The storage system is further configured to determine the available power state. 제 20항에 있어서, 상기 저장 장치에 상기 폐기 가능 파일을 다운로드할 때 상기 저장 장치에 이용할 수 있는 파워 상태를 판정하기 위해서, 상기 프로세서는, 상기 저장 장치가 전원에 결합된 것을 판정하도록 추가 구성된, 저장 시스템.The processor of claim 20, wherein the processor is further configured to determine that the storage device is coupled to a power source to determine a power state available to the storage device when downloading the discardable file to the storage device. Storage system. 제 20항에 있어서, 상기 저장 장치에 상기 폐기 가능 파일을 다운로드할 때 상기 저장 장치에 이용할 수 있는 파워 상태를 판정하기 위해서, 상기 프로세서는, 상기 저장 장치와 연관된 배터리가 충전되는 것을 판정하도록 추가 구성된, 저장 시스템.The processor of claim 20, wherein the processor is further configured to determine that a battery associated with the storage device is charged to determine a power state available to the storage device when downloading the discardable file to the storage device. , Storage system. 제 20항에 있어서, 상기 저장 장치에 상기 폐기 가능 파일을 다운로드할 때 상기 저장 장치에 이용할 수 있는 파워 상태를 판정하기 위해서, 상기 프로세서는, 상기 저장 장치와 연관된 배터리의 파워 레벨이 소정의 레벨 이상임을 판정하도록 추가 구성된, 저장 시스템.The processor of claim 20, wherein the processor is further configured to determine a power state available to the storage device when downloading the discardable file to the storage device, wherein the power level of the battery associated with the storage device is greater than or equal to a predetermined level. And further configured to determine that the storage system is configured. 제 15항에 있어서, 상기 저장 장치의 저장 영역에 폐기 가능 파일을 저장하라는 상기 요청과 연관된 다운로드 상태를 판정하기 위해서, 상기 프로세서는, 상기 저장 장치의 저장 영역에 폐기 가능 파일을 저장하라는 상기 요청과 연관된 시각을 판정하도록 추가 구성된, 저장 시스템.16. The method of claim 15, wherein to determine a download status associated with the request to store a discardable file in a storage area of the storage device, the processor is further configured to: store the discardable file in the storage area of the storage device; And further configured to determine the associated time of day. 제 15항에 있어서, 상기 저장 장치의 저장 영역에 폐기 가능 파일을 저장하라는 상기 요청과 연관된 다운로드 상태를 판정하기 위해서, 상기 프로세서는, 상기 저장 장치의 저장 영역에 상기 폐기 가능 파일을 저장하기 전에 상기 저장 장치에 사용 가능한 저장량이 소정의 레벨 이상임을 판정하도록 추가 구성된, 저장 시스템.The processor of claim 15, wherein the processor is further configured to determine a download state associated with the request to store the discardable file in a storage area of the storage device, before storing the discardable file in the storage area of the storage device. And further configured to determine that the amount of storage available to the storage device is above a predetermined level. 제 15항에 있어서, 상기 데이터 구조는 상기 저장 장치와 연관된 파일 시스템 구조를 포함하는, 저장 시스템.The storage system of claim 15, wherein the data structure includes a file system structure associated with the storage device. 제 26항에 있어서, 상기 파일 시스템 구조는 상기 파일이 폐기 가능 파일임을 나타내도록 표시되는, 저장 시스템.27. The storage system of claim 26, wherein the file system structure is displayed to indicate that the file is a discardable file. 제 15항에 있어서, 상기 파일이 폐기 가능 파일임을 나타내기 위해 상기 파일 자체가 표시되는, 저장 시스템.The storage system of claim 15, wherein the file itself is displayed to indicate that the file is a discardable file.
KR1020117013712A 2009-03-10 2010-03-09 How to manage downloads of discardable files Withdrawn KR20110127636A (en)

Applications Claiming Priority (4)

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

Publications (1)

Publication Number Publication Date
KR20110127636A true KR20110127636A (en) 2011-11-25

Family

ID=42335011

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020117013712A Withdrawn KR20110127636A (en) 2009-03-10 2010-03-09 How to manage downloads of discardable 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
US9015209B2 (en) 2008-12-16 2015-04-21 Sandisk Il Ltd. Download management of discardable files
US9020993B2 (en) 2008-12-16 2015-04-28 Sandisk Il Ltd. Download management of discardable files
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
CN112041837B (en) * 2018-02-02 2024-12-03 查尔斯斯塔克德雷珀实验室公司 Processing system and method for processing instructions

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
CN102257497A (en) 2011-11-23
JP5715964B2 (en) 2015-05-13
JP2012520507A (en) 2012-09-06
CN102257497B (en) 2015-06-10
EP2406733A1 (en) 2012-01-18
WO2010104814A1 (en) 2010-09-16

Similar Documents

Publication Publication Date Title
US9015209B2 (en) Download management of discardable files
KR101767710B1 (en) Card-based management of discardable files
CN103154911B (en) For managing the system and method uploaded of the file in the high-speed cache storage system shared
JP5715964B2 (en) Managing downloadable files
KR20110107800A (en) Discardable Files
US20100153474A1 (en) Discardable files
US8751515B1 (en) System and method for file-based virtual machine incremental backup
US9503542B1 (en) Writing back data to files tiered in cloud storage
US8719286B1 (en) System and method for block-based subtree virtual machine backup
US8205060B2 (en) Discardable files
US8375192B2 (en) Discardable files
US9020993B2 (en) Download management of discardable files
JP2014178784A (en) Information processing device, information processing system, and information processing program
US8849856B2 (en) Discardable files

Legal Events

Date Code Title Description
PA0105 International application

Patent event date: 20110615

Patent event code: PA01051R01D

Comment text: International Patent Application

PG1501 Laying open of application
PC1203 Withdrawal of no request for examination
WITN Application deemed withdrawn, e.g. because no request for examination was filed or no examination fee was paid