CN104636414B - 提供对更新后的文件的访问的方法和执行该方法的计算机 - Google Patents

提供对更新后的文件的访问的方法和执行该方法的计算机 Download PDF

Info

Publication number
CN104636414B
CN104636414B CN201410641830.2A CN201410641830A CN104636414B CN 104636414 B CN104636414 B CN 104636414B CN 201410641830 A CN201410641830 A CN 201410641830A CN 104636414 B CN104636414 B CN 104636414B
Authority
CN
China
Prior art keywords
lba
ancient deed
pba
swat
order
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.)
Active
Application number
CN201410641830.2A
Other languages
English (en)
Other versions
CN104636414A (zh
Inventor
奇亮奭
李尚源
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Samsung Electronics Co Ltd
Original Assignee
Samsung Electronics Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Samsung Electronics Co Ltd filed Critical Samsung Electronics Co Ltd
Priority to CN201911066774.3A priority Critical patent/CN110807008A/zh
Publication of CN104636414A publication Critical patent/CN104636414A/zh
Application granted granted Critical
Publication of CN104636414B publication Critical patent/CN104636414B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • 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/16File or folder operations, e.g. details of user interfaces specifically adapted to file systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/10Address translation
    • G06F12/109Address translation for multiple virtual address spaces, e.g. segmentation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • G06F3/0643Management of files
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/0674Disk device
    • G06F3/0676Magnetic disk device
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1016Performance improvement
    • G06F2212/1024Latency reduction
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/15Use in a specific computing environment
    • G06F2212/152Virtualized environment, e.g. logically partitioned system

Landscapes

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

Abstract

示例性实施例提供了由具有至少一个处理器的计算机执行的提供对更新后的文件的访问的方法和执行该方法的计算机,其中响应于接收到包括旧文件的修改内容的更新的应用,创建在其中复制了所述修改内容的新文件,同时保持对旧文件的访问,其中旧文件逻辑块地址映射到旧文件物理块地址,并且新文件逻辑块地址映射到新文件物理块地址,所述方法包括步骤:将旧文件逻辑块地址的映射从旧文件物理块地址自动地交换至新文件物理块地址;剪切旧文件逻辑块地址到旧文件物理块地址的映射;以及清除新文件逻辑块地址到新文件物理块地址的映射。

Description

提供对更新后的文件的访问的方法和执行该方法的计算机
相关申请的交叉引用
本申请要求转让于本申请的受让人的于2013年11月8日提交的临时专利申请No.61/902,092的权益,并且其以引用方式并入本文。
技术领域
本申请一般地涉及计算机应用,具体地,涉及用于LBA的原子交换和剪切的SWAT命令和API。
背景技术
文档管理系统更新数据结构以跟踪文档的最新版本。在这个过程中,一些系统创建文档的另一版本而非覆盖旧版本,并且将文档的旧版本保持一段时间。这允许系统在更新新版本的同时访问文档的旧版本以进行读取。例如,如果用户更新他/她的博客页面,则在他/她更新博客页面的同时,其它用户仍然可阅读旧版本的博客页面。在一些时候,系统需要更新系统信息以访问新文档并替代旧文档。通常,这触发了系统的数据结构中的一系列级联更新,并且需要对贮存器进行多次写入。
因此,期望提供一种改进的方法和系统,用于对更新后的文件提供访问而不用在系统的数据结构中执行级联更新。
发明内容
示例性实施例提供了由具有至少一个处理器的计算机执行的对更新后的文件的访问的方法,其中响应于接收到包括旧文件的修改内容的更新的应用,创建在其中复制了所述修改内容的新文件,同时保持对旧文件的访问,其中旧文件逻辑块地址(LBA)映射到旧文件物 理块地址(PBA),并且新文件LBA映射到新文件PBA,所述方法包括步骤:将旧文件LBA的映射从旧文件PBA自动地交换至新文件PBA;剪切旧文件LBA到旧文件PBA的映射;以及清除新文件LBA到新文件PBA的映射。
根据示例性实施例的方法和系统,可在不用在系统的数据结构中执行级联更新并且不用对贮存器进行不必要的写入的情况下更新文件。
附图说明
通过以下结合附图对实施例的描述,本发明的整体构思的这些和/或其它特征和效用将变得清楚和更容易理解,图中:
图1是示出根据示例性实施例的文档管理系统的框图;
图2是更新文件的常规文档管理系统的图解说明;
图3是根据一个示例性实施例示出了文档管理系统执行的用于在更新期间对文件提供访问的过程的流程图;以及
图4是图解说明了图3所示过程的示图。
具体实施方式
现在将详细描述本发明的整体构思的实施例,在附图中示出了其示例,其中相同的附图标记始终表示相同的元件。以下在参照附图的同时描述实施例以解释本发明的整体构思。
通过参照以下实施例和附图的具体说明可更容易地理解本发明的优点和特征及其实现方法。然而,本发明的整体构思可以许多不同的形式实现,并且不应理解为限于本文阐述的实施例。此外,提供这些实施例是为了使得本公开将是彻底和完整的,并且将把本发明的整体构思的概念完全传递给本领域技术人员,并且本发明的整体构思将仅由权利要求限定。为了清楚起见,在附图中会夸大层和区的厚度。
应该理解,除非本文表明不是这样或者在上下文中作出清楚的相反的指示,否则在描述本发明的上下文中(尤其是在权利要求的上下文中),使用的术语“一”、“一个”、“该”以及相似的指示语 应解释为涵盖单数形式和复数形式二者。应该理解,除非说明不是这样,否则术语“包括”是开放性术语(即,意味着“包括(但不限于)”)。
如本文所用的那样,术语“组件”或“模块”意指(但不限于)执行特定任务的软件或诸如现场可编程门阵列(FPGA)或专用集成电路(ASIC)之类的硬件组件。组件或模块可有利地构造为位于可寻址贮存介质中,并被构造为在一个或多个处理器上执行。因此,以举例的方式,组件或模块可包括诸如软件组件、面向对象的软件组件、类组件和任务组件的组件、处理、功能、属性、过程、子程序、程序代码片断、驱动器、固件、微代码、电路、数据、数据库、数据结构、表、阵列和变量。针对组件以及组件或模块提供的功能性可组合到更少的组件以及组件或模块中,或者进一步分为额外的组件以及组件或模块。
除非另外限定,否则本文使用的所有技术术语和科学术语具有与本发明所属领域的普通技术人员之一共同理解的含义相同的含义。应该注意,除非另外指明,否则使用本文提供的任何和所有示例术语或示例性术语仅旨在更好地示出本发明,而不限制本发明的范围。另外,除非另外限定,否则不可过度解释在通用词典中定义的所有术语。
图1是示出根据示例性实施例的文档管理系统10的框图。文档管理系统10可包括计算机12,其跟踪并存储电子文档或文件。在一个实施例中,计算机12可包括台式、笔记本或工作站,而在另一实施例中,计算机12可包括经网络(未示出)与客户计算机通信的服务器。计算机12可包括通常的计算机组件,其中包括处理器14、存储器16和诸如高速贮存器18(例如,固态驱动器(SSD))之类的贮存装置。
处理器14可包括多个处理器,或具有一个或多个核的单个处理器。处理器14执行来自存储器16的程序指令。软件的示例类型可包括应用20、操作系统22、文件系统24和用于高速贮存器18的装置驱动器应用程序接口(API)26。
如本领域熟知的,应用20可表示计算机软件,当处理器14执行该计算机软件时使得计算机12执行计算机12的运行之外的任务。 示例可包括网络浏览器、文字处理器和数据库程序。通常,应用20创建并修改或更新文件28。操作系统22是一种管理和控制计算机12的操作的系统软件。示例可包括Microsoft Windows、Mac OS X和Linux。
文件系统24是软件,其控制如何在诸如高速贮存器18的数据贮存装置上存储、检索和更新诸如文件28之类的信息。通常,文件系统24使用逻辑块寻址,以指明诸如文件28之类的数据在高速贮存器18或其它计算机贮存装置上的存储位置。更具体地说,逻辑块寻址是一种将逻辑块地址(LBA)30分配给映射到高速贮存器18上的特定贮存位置的文件28的抽象。
装置驱动器应用程序接口(API)26允许应用20、操作系统22和文件系统24与高速贮存器18透明地交互。装置驱动器API 26将命令提供至高速贮存器18和/或从高速贮存器18接收数据。
在一个实施例中,高速贮存器18使用物理块寻址,以将地址提供至存储在高速贮存器18上的数据的各个物理块。这些类型的地址可被称作物理块地址(PBA)32。在一个实施例中,高速贮存器18可包括固态驱动器(SSD)(也称作固态盘)。SSD是一种使用集成电路组件作为存储器以永久地存储诸如文件28之类的数据的数据贮存装置。在一个实施例中,SSD可使用基于NAND的闪速存储器或随机存取存储器(RAM)。
在实施例中,高速贮存器18还可包括文件转换层(file translation layer,FTL)34或等同物,其在将逻辑扇区接口提供至计算机12的同时管理高速贮存器18。这样,FTL 34控制由文件系统24保持的LBA 30与由高速贮存器18保持的PBA 32之间的映射关系。在替代实施例中,示例性实施例可与除SSD以外的其它类型的贮存装置一起使用。
图2是更新文件的常规文档管理系统的图解说明。示出的示例假设应用保持表示用户的博客页面的文件200。每当用户更新博客时,应用将文件200读到存储器中,并相应地修改内容。在更新过程中,系统创建新文件204,将修改内容复制到新文件204中。同时,在用户持续更新博客的同时其它用户仍可访问和浏览旧文件202。当用户完成对博客的编辑并提交页面时,应用切换到新文件204并删除旧文件202。
在贮存系统(实际存储文件之处)保持物理块地址(PBA)208的同时,文件系统保持针对旧文件202和新文件204的逻辑块地址(LBA)206。在该示例中,文件系统将旧文件202映射到LBA4和LBA5,而贮存装置将LBA4-LBA5分别映射到PBA0-PBA1。相似地,新文件204映射到LBA24-LBA25,并且LBA24-LBA25继而分别映射到PBA11-PBA12。
常规系统的一个问题在于,系统有些时候需要更新系统信息以访问替代旧文件202的新文件204。通常,这会触发系统的数据结构中的一系列级联更新,并导致对贮存器进行多次写入。
系统信息可包括针对各个文件/文档的元数据。例如,元数据可包括存储文档的日期和存储文件的用户的身份。元数据通常按照数据结构进行存储。这种数据结构的一个示例是B树,这是一种分类保持数据并允许以对数时间(logarithmic time)进行搜索、顺序存取、插入和删除的树数据结构。针对各个文件200的元数据和/或一列LBA206可通过B树中的i节点保持。通常每个文件200具有一个i节点。如果文件200的i节点存储在靠近B树的叶层,则会需要更新从该节点直至根节点的路径上的所有节点,因而进行级联更新和对贮存器写入。
例如,每当用户更新如上所述的博客时,应用也需要更新包含该博客的文件信息,这导致至少一个盘写入。当用户更多时,发生更多的盘写入。
示例性实施例涉及一种用于提供对新的更新后的文件进行访问而不用更新系统数据结构的改进的方法和系统,从而最小化或消除系统中的级联更新和过多的盘写入。
示例性实施例提出了一种用于处理该问题的新的贮存器(例如,SSD)命令和API。也就是说,如果可在不用更新系统数据结构的情况下访问新版本的文档,则由于用于反映最新系统信息的级联更新的取消可避免或明显减少贮存器写入。实际上,除该简化的示例以外, 示例性实施例也可应用于诸如B+树、文档日志和其他具有这些特征的许多应用。
示例性实施例提出了一种命令以及相关的API,这里称作交换和剪切(SWap AndTrim,SWAT)命令。给定一对LBA列表,SWAT命令以原子方式按顺序交换列表中的LBA的映射,并随后剪切未使用的LBA。
图3是根据一个示例性实施例示出了文档管理系统10执行的用于在更新期间对文件提供访问的过程的流程图;图4是图解说明了该过程的示图。
参照图1、图3和图4,可响应于接收到包括旧文件的修改内容的更新的应用而开始该过程,以创建在其中复制了所述修改内容的新文件,同时保持对旧文件的访问(框300)。
这示出在图4中,其示出了响应于正在更新的文件400,暂时保持对旧版本的文件(即,旧文件)402的访问,并且创建包含修改内容的新版本的文件(即,新文件)404。可通过一个应用20或者替代性通过操作系统22来更新文件400。
文件系统24使用一列旧文件LBA 406(例如,LBA4-LBA5)表示旧文件402的逻辑贮存位置,同时高速贮存器18使用一列旧文件PBA408(例如,PBA0-PBA1)表示物理贮存位置。相似地,还利用一列新文件LBA 410(例如,LBA24-LBA25)表示新文件404的逻辑贮存位置,同时利用一列新文件PBA 412(例如PBA11-PBA12)表示高速贮存器18中的物理贮存位置。
再次参照图3,响应于对正在提交的新文件404进行的更新,旧文件LBA 406的映射从旧文件PBA 408自动地交换至新文件PBA 412(框302)。如图4所示,将所述一列旧文件LBA406的物理映射重新映射至新文件404的所述一列新文件PBA 412。更具体地说,一旦发出SWAT命令,LBA4就映射至PBA11,LBA5就映射至PBA12。结果,SWAT API消除了更新文件信息的需要。
另外,剪切旧文件LBA 406到旧文件PBA 408的映射,释放旧文件PBA 408(框304)。如图4所示,在剪切之后,旧文件PBA 408 (PBA0和PBA1)被释放,如“X”416所示。
同样,还清除新文件LBA 410到新文件PBA 412的映射(框306)。如图4所示,在SWAT操作之后,清除并可以选择性地回收针对LBA24和LBA25的映射,并且可以选择性地删除新文件404,如“X”418所示。
根据示例性实施例,SWAT命令和API提供优于现有技术的多个优点。SWAT命令不需要对OS进行任何修改,并且可在较少固件修改的情况下应用于所有类型的SSD器件。SWAT命令也可通过减少来自应用的盘写入次数来显著提高SSD器件的耐用性。SWAT命令还可通过主动地恢复未使用的空间来改进系统的性能。另外,尤其在多版本同时控制的情况下SWAT命令可提供应用的明显性能优点。
以下更详细地描述SWAT命令。一旦通过应用20提交文件,操作系统22或文件系统24就调用装置驱动器API 26。随后,装置驱动器API 26可将SWAT命令发送至高速贮存器18。
在一个实施例中,命令可指定一对LBA列表,即,一列新文件LBA 410和一列旧文件LBA 406。高速贮存器18中的文件转换层(FTL)34可接收列旧文件LBA 406和列新文件LBA410并以原子方式按照指定的顺序交换所述一对LBA列表中的LBA的映射,并随后以最大努力方式剪切旧文件PBA 408(例如,在执行SWAT命令的过程中批量剪切以剪切开销最小化)。在一个实施例中,SWAT命令是原子的。
SWAT命令
在一个实施例中,LBA可为连续或非连续的。因此,可存在针对连续或非连续LBA的两个不同的SWAT命令。将参照以下伪代码更好地理解SWAT命令的各方面和实施例,其中在特定实施例方面描述了本发明。提供它们是为了清楚的目的,而非用于限制本发明。本发明及其各方面可应用于本文中未特别公开的各类方法、装置和代码。
针对非连续LBA的API
swat(unsigned int*dst_list,unsigned int*src_list,unsigned int lba_count,unsigned int timeout)
该程序以原子方式交换dst_list中的LBA的映射与src_list 中的LBA的映射,并剪切针对dst_list中的LBA的PBA。一旦成功地执行该命令,dst_list中的LBA就指向由src_list中的LBA所指向的PBA,剪切由dst_list指向的PBA,并且释放src_list中的LBA。当需要以原子方式处理大量转换时该API是有用的。
参数
可通过制造商定义的命令以任何类型的贮存器协议实现SWAT命令,所述贮存器协议诸如SATA、SAS、PCIe、eMMC、UFS等。
已经根据示出的实施例描述了本发明,并且所述实施例可存在变形形式,并且任何变形形式可在本发明的精神和范围内。例如,可利用硬件、软件、含有程序指令的计算机可读介质或它们的组合实现示例性实施例。根据本发明写的软件存储在诸如存储器、硬盘或CD/DVD-ROM的一些形式的计算机可读介质中,或者通过处理器执行。因此,在不脱离权利要求的精神和范围的情况下,本领域普通技术人员可作出许多修改。

Claims (15)

1.一种由具有至少一个处理器的计算机执行的提供对更新后的文件的访问的方法,其中响应于接收到包括旧文件的修改内容的更新的应用,创建在其中复制了所述修改内容的新文件,同时保持对旧文件的访问,其中旧文件逻辑块地址(LBA)映射到旧文件物理块地址(PBA),并且新文件LBA映射到新文件PBA,新文件LBA与旧文件LBA彼此不同,所述方法包括步骤:
将旧文件LBA的映射从旧文件PBA自动地交换至新文件PBA;
剪切旧文件LBA到旧文件PBA的映射;以及
清除新文件LBA到新文件PBA的映射。
2.根据权利要求1所述的方法,其中,通过交换和剪切(SWAT)命令以及应用程序接口(API)激活所述方法。
3.根据权利要求2所述的方法,其中,所述SWAT命令的参数包括对应于旧文件和新文件的一对LBA列表,并且其中所述SWAT命令以原子方式按顺序交换所述一对列表中的LBA的映射并剪切未使用的LBA。
4.根据权利要求2所述的方法,其中,响应于由应用或操作系统作出的调用,将所述SWAT命令从贮存装置驱动器API发送至贮存装置。
5.根据权利要求2所述的方法,其中,所述SWAT命令包括作为参数的第一LBA列表和第二LBA列表,所述第一LBA列表包括新文件的LBA,所述第二LBA列表包括旧文件的LBA。
6.根据权利要求5所述的方法,其中,所述第一LBA列表和所述第二LBA列表中的LBA的映射以原子方式按照列表指定的顺序交换,并且以最大努力方式剪切旧文件PBA。
7.根据权利要求6所述的方法,其中,所述SWAT命令包括针对连续LBA的第一SWAT命令和针对非连续LBA的第二SWAT命令。
8.一种计算机,包括:
存储器:
贮存装置;
处理器,其连接至存储器和贮存装置,处理器执行至少一个应用;其中响应于接收到包括旧文件的修改内容的更新的应用,创建在其中复制了所述修改内容的新文件,同时保持对旧文件的访问,其中旧文件逻辑块地址(LBA)映射到旧文件物理块地址(PBA),并且新文件LBA映射到新文件PBA,新文件LBA与旧文件LBA彼此不同,所述处理器被配置为:
将旧文件LBA的映射从旧文件PBA自动地交换至新文件PBA;
剪切旧文件LBA到旧文件PBA的映射;以及
清除新文件LBA到新文件PBA的映射。
9.根据权利要求8所述的计算机,其中,通过交换和剪切(SWAT)命令以及应用程序接口(API)激活交换。
10.根据权利要求9所述的计算机,其中,所述SWAT命令的参数包括对应于旧文件和新文件的一对LBA列表,并且其中所述SWAT命令以原子方式按顺序交换所述一对列表中的LBA的映射并剪切未使用的LBA。
11.根据权利要求9所述的计算机,其中,响应于由应用或操作系统作出的调用,将所述SWAT命令从贮存装置驱动器API发送至贮存装置。
12.根据权利要求9所述的计算机,其中,所述SWAT命令包括作为参数的第一LBA列表和第二LBA列表,所述第一LBA列表包括新文件的LBA,所述第二LBA列表包括旧文件的LBA。
13.根据权利要求12所述的计算机,其中,所述第一LBA列表和第二LBA列表中的LBA的映射以原子方式按照列表指定的顺序交换,并且以最大努力方式剪切旧文件PBA。
14.根据权利要求13所述的计算机,其中,所述SWAT命令包括针对连续LBA的第一SWAT命令和针对非连续LBA的第二SWAT命令。
15.一种由具有至少一个处理器的计算机执行的提供对更新后的文件的访问的方法,包括步骤:
接收针对旧文件的第一列LBA和针对更新后的文件的第二列LBA,其中第一列LBA映射到第一列PBA,并且第二列LBA映射到第二列PBA,第一列LBA与第二列LBA彼此不同,;
自动地交换针对旧文件的第一列LBA的映射,以使得第一列LBA映射到针对新文件的第二列PBA;
剪切针对旧文件的第一列PBA的映射;以及
清除针对更新后的文件的第二列LBA的映射。
CN201410641830.2A 2013-11-08 2014-11-07 提供对更新后的文件的访问的方法和执行该方法的计算机 Active CN104636414B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911066774.3A CN110807008A (zh) 2013-11-08 2014-11-07 用于lba的原子交换和剪切的swat命令和api

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US201361902092P 2013-11-08 2013-11-08
US61/902,092 2013-11-08
US14/282,358 US9678966B2 (en) 2013-11-08 2014-05-20 Swat command and API for atomic swap and trim of LBAs
US14/282,358 2014-05-20

Related Child Applications (1)

Application Number Title Priority Date Filing Date
CN201911066774.3A Division CN110807008A (zh) 2013-11-08 2014-11-07 用于lba的原子交换和剪切的swat命令和api

Publications (2)

Publication Number Publication Date
CN104636414A CN104636414A (zh) 2015-05-20
CN104636414B true CN104636414B (zh) 2019-11-05

Family

ID=52991043

Family Applications (2)

Application Number Title Priority Date Filing Date
CN201911066774.3A Pending CN110807008A (zh) 2013-11-08 2014-11-07 用于lba的原子交换和剪切的swat命令和api
CN201410641830.2A Active CN104636414B (zh) 2013-11-08 2014-11-07 提供对更新后的文件的访问的方法和执行该方法的计算机

Family Applications Before (1)

Application Number Title Priority Date Filing Date
CN201911066774.3A Pending CN110807008A (zh) 2013-11-08 2014-11-07 用于lba的原子交换和剪切的swat命令和api

Country Status (5)

Country Link
US (2) US9678966B2 (zh)
JP (2) JP6416591B2 (zh)
KR (1) KR102303814B1 (zh)
CN (2) CN110807008A (zh)
DE (1) DE102014116031A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110807008A (zh) * 2013-11-08 2020-02-18 三星电子株式会社 用于lba的原子交换和剪切的swat命令和api

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10359937B2 (en) * 2013-12-20 2019-07-23 Sandisk Technologies Llc System and method of implementing a table storage support scheme
KR102316198B1 (ko) * 2015-06-12 2021-10-25 삼성전자주식회사 파일 액세스 방법, 컴퓨터, 및 컴퓨터-읽기 가능한 매체에 실행 가능한 소프트웨어 제품
KR20180019419A (ko) * 2016-08-16 2018-02-26 삼성전자주식회사 메모리 컨트롤러, 메모리 시스템 및 그 동작방법
CN106844619A (zh) * 2017-01-17 2017-06-13 深圳市金立通信设备有限公司 一种文件清理方法及终端
US10324628B2 (en) * 2017-04-19 2019-06-18 Veritas Technologies Llc Systems and methods for reducing data fragmentation
KR102567140B1 (ko) 2017-11-24 2023-08-16 삼성전자주식회사 데이터 관리 방법 및 이를 수행하는 저장 장치
JP7316204B2 (ja) * 2019-12-16 2023-07-27 株式会社ソニー・インタラクティブエンタテインメント 情報処理装置およびファイルアクセス方法
KR20220020143A (ko) * 2020-08-11 2022-02-18 삼성전자주식회사 오버라이트 처리를 수행하는 스토리지 시스템, 스토리지 시스템을 제어하는 호스트 시스템 및 스토리지 시스템의 동작 방법
US20230024420A1 (en) * 2021-07-16 2023-01-26 Samsung Electronics Co., Ltd. Methods and devices for file read latency reduction
US11768631B2 (en) * 2021-08-31 2023-09-26 Micron Technology, Inc. Rapid reliable file system access

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101458961A (zh) * 2007-10-31 2009-06-17 三星电子株式会社 非易失性存储设备中数据管理方法和映射表更新方法
CN102855193A (zh) * 2011-06-03 2013-01-02 苹果公司 非易失性存储系统中未使用的逻辑地址的挂载时去映射
CN103020550A (zh) * 2012-12-03 2013-04-03 记忆科技(深圳)有限公司 一种固态硬盘及其安全访问方法、固态硬盘系统
CN103198019A (zh) * 2011-10-24 2013-07-10 三星电子株式会社 文件系统及其控制方法

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6366933B1 (en) 1995-10-27 2002-04-02 At&T Corp. Method and apparatus for tracking and viewing changes on the web
JPH1031604A (ja) * 1996-07-15 1998-02-03 Meidensha Corp 共有メモリシステム並びにデータベースシステム
JP4441968B2 (ja) * 1999-02-26 2010-03-31 ソニー株式会社 記録方法、管理方法、及び記録装置
US6895490B1 (en) * 2001-04-09 2005-05-17 Matrix Semiconductor, Inc. Method for making a write-once memory device read compatible with a write-many file system
JP2004280752A (ja) * 2003-03-19 2004-10-07 Sony Corp データ記憶装置、およびデータ記憶装置における管理情報更新方法、並びにコンピュータ・プログラム
MXPA06012974A (es) * 2004-05-10 2007-04-23 Matsushita Electric Ind Co Ltd Grabacion/reproduccion de datos para discos de una sola escritura.
US7509474B2 (en) * 2005-06-08 2009-03-24 Micron Technology, Inc. Robust index storage for non-volatile memory
US8832047B2 (en) 2005-07-27 2014-09-09 Adobe Systems Incorporated Distributed document version control
US8515912B2 (en) 2010-07-15 2013-08-20 Palantir Technologies, Inc. Sharing and deconflicting data changes in a multimaster database system
US8266366B2 (en) * 2008-04-11 2012-09-11 SanDisk Technologies, Inc. Memory device operable in read-only and write-once, read-many (WORM) modes of operation
US8438325B2 (en) * 2008-10-09 2013-05-07 Cadence Design Systems, Inc. Method and apparatus for improving small write performance in a non-volatile memory
KR20100055565A (ko) * 2008-11-18 2010-05-27 삼성전자주식회사 메모리 장치 및 메모리 장치의 관리 방법
US9164700B2 (en) * 2009-03-05 2015-10-20 Sandisk Il Ltd System for optimizing the transfer of stored content in response to a triggering event
US8291194B2 (en) * 2009-11-16 2012-10-16 Mediatek Inc. Methods of utilizing address mapping table to manage data access of storage medium without physically accessing storage medium and related storage controllers thereof
US8677203B1 (en) * 2010-01-11 2014-03-18 Apple Inc. Redundant data storage schemes for multi-die memory systems
US8495085B2 (en) 2010-09-27 2013-07-23 International Business Machines Corporation Supporting efficient partial update of hierarchically structured documents based on record storage
KR101774496B1 (ko) * 2010-12-08 2017-09-05 삼성전자주식회사 비휘발성 메모리 장치, 이를 포함하는 장치들, 및 이의 동작 방법
US9323667B2 (en) * 2012-04-12 2016-04-26 Violin Memory Inc. System and method for managing trim operations in a flash memory system using mapping tables and block status tables
US10102144B2 (en) 2013-04-16 2018-10-16 Sandisk Technologies Llc Systems, methods and interfaces for data virtualization
US9678966B2 (en) * 2013-11-08 2017-06-13 Samsung Electronics Co., Ltd. Swat command and API for atomic swap and trim of LBAs

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101458961A (zh) * 2007-10-31 2009-06-17 三星电子株式会社 非易失性存储设备中数据管理方法和映射表更新方法
CN102855193A (zh) * 2011-06-03 2013-01-02 苹果公司 非易失性存储系统中未使用的逻辑地址的挂载时去映射
CN103198019A (zh) * 2011-10-24 2013-07-10 三星电子株式会社 文件系统及其控制方法
CN103020550A (zh) * 2012-12-03 2013-04-03 记忆科技(深圳)有限公司 一种固态硬盘及其安全访问方法、固态硬盘系统

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110807008A (zh) * 2013-11-08 2020-02-18 三星电子株式会社 用于lba的原子交换和剪切的swat命令和api

Also Published As

Publication number Publication date
US9684663B2 (en) 2017-06-20
US9678966B2 (en) 2017-06-13
CN110807008A (zh) 2020-02-18
DE102014116031A1 (de) 2015-05-13
KR20150053720A (ko) 2015-05-18
CN104636414A (zh) 2015-05-20
US20150134621A1 (en) 2015-05-14
JP2019016395A (ja) 2019-01-31
JP6629407B2 (ja) 2020-01-15
JP6416591B2 (ja) 2018-10-31
KR102303814B1 (ko) 2021-09-23
JP2015095262A (ja) 2015-05-18
US20150234849A1 (en) 2015-08-20

Similar Documents

Publication Publication Date Title
CN104636414B (zh) 提供对更新后的文件的访问的方法和执行该方法的计算机
US11782632B2 (en) Selective erasure of data in a SSD
US20100262802A1 (en) Reclamation of Thin Provisioned Disk Storage
JP5439236B2 (ja) 計算機システムおよびアプリケーションプログラムの実行方法
US9015526B2 (en) Restoring method and computer system
US9684658B2 (en) SWAT command and API for atomic swap and trim of logical pages
CN114327917A (zh) 内存管理方法、计算设备及可读存储介质
KR20210076828A (ko) 키-값 장치 및 이의 블록 인터페이스 에뮬레이션 방법
US9177177B1 (en) Systems and methods for securing storage space
US11176089B2 (en) Systems and methods for implementing dynamic file systems
US20180188967A1 (en) Snapshot storage management
US8909875B1 (en) Methods and apparatus for storing a new version of an object on a content addressable storage system
CN105045874B (zh) 一种提高数据库性能的方法及装置
KR102316198B1 (ko) 파일 액세스 방법, 컴퓨터, 및 컴퓨터-읽기 가능한 매체에 실행 가능한 소프트웨어 제품
US20180095690A1 (en) Creating virtual storage volumes in storage systems
CN109478181A (zh) 用于使得能够修改文件系统卷内的多个数据对象的系统和方法
US20160139850A1 (en) Managing method of storage device, computer system and storage medium
US20150378914A1 (en) Implementing advanced caching
CN107562642B (zh) 检查点淘汰方法和装置
US20180210670A1 (en) Storage management of metadata
Lee et al. Efficient data cluster management scheme for Qcow2-based virtual disk in home cloud server
CN116483777A (zh) 一种文件存储管理方法、装置及电子设备

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant