CN114661223A - 管理固态驱动器的写入移除 - Google Patents

管理固态驱动器的写入移除 Download PDF

Info

Publication number
CN114661223A
CN114661223A CN202110702791.2A CN202110702791A CN114661223A CN 114661223 A CN114661223 A CN 114661223A CN 202110702791 A CN202110702791 A CN 202110702791A CN 114661223 A CN114661223 A CN 114661223A
Authority
CN
China
Prior art keywords
space
container
ssd
write
processor
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.)
Pending
Application number
CN202110702791.2A
Other languages
English (en)
Inventor
O.沃瑟曼
G.Z.本哈诺克
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.)
Red Hat Inc
Original Assignee
Red Hat Inc
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 Red Hat Inc filed Critical Red Hat Inc
Publication of CN114661223A publication Critical patent/CN114661223A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • 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/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0659Command handling arrangements, e.g. command buffers, queues, command scheduling
    • 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/0614Improving the reliability of storage systems
    • G06F3/0616Improving the reliability of storage systems in relation to life time, e.g. increasing Mean Time Between Failures [MTBF]
    • 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/0626Reducing size or complexity of storage systems
    • 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/064Management of blocks
    • 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/0644Management of space entities, e.g. partitions, extents, pools
    • 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/0646Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
    • G06F3/0652Erasing, e.g. deleting, data cleaning, moving of data to a wastebasket
    • 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/067Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
    • 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/0679Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • G06F9/4411Configuring for operating with peripheral devices; Loading of device drivers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • G06F9/442Shutdown
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/72Details relating to flash memory management
    • G06F2212/7205Cleaning, compaction, garbage collection, erase control

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)
  • Software Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

可以管理固态驱动器的写入移除。例如,计算设备可以为容器的写入指定固态驱动器(SSD)的空间。计算设备可以响应于加载该容器,在该空间中存储该容器的写入以执行该容器。计算设备可以确定容器的执行阶段的结束。响应于确定执行阶段的结束,计算设备可以从SSD的空间移除该写入。

Description

管理固态驱动器的写入移除
技术领域
本公开总体上涉及用于计算网络的存储设备。更具体地,而非作为限制,本公开涉及管理固态驱动器的写入移除(write removal)。
背景技术
固态驱动器(SSD)是一种类型的用于存储数据的存储设备。SSD被组织成块(block),其中每个块包括若干数量的页(page),页由一行的单元(cell)组成。SSD以页读取和写入数据,但是以块级别擦除数据。一旦块被擦除,新的数据可以被写入该块的单元。在SSD故障之前,块可以被写入和擦除预定量的次数。例如,块可以被限制为写入和擦除块1000次。
发明内容
在一些方面,一种系统可以包括:处理器;以及包含指令的存储器,所述指令能够由所述处理器执行以使所述处理器:为容器的写入指定固态驱动器(SSD)的空间;响应于加载所述容器,在所述空间中存储所述容器的所述写入以执行所述容器;确定所述容器的执行阶段的结束;以及响应于确定所述执行阶段的结束,从SSD的所述空间移除所述写入。
在一些方面,一种计算机实现的方法可以包括:为容器的写入指定固态驱动器(SSD)的空间;响应于加载所述容器,在所述空间中存储所述容器的所述写入以执行所述容器;确定所述容器的执行阶段的结束;以及响应于确定所述执行阶段的结束,从SSD的所述空间移除所述写入。
在一些方面,一种非暂时性计算机可读介质可以包含能够由处理器执行以使所述处理器执行以下操作的程序代码:为容器的写入指定固态驱动器(SSD)的空间;响应于加载所述容器,在所述空间中存储所述容器的所述写入以执行所述容器;确定所述容器的执行阶段的结束;以及响应于确定所述执行阶段的结束,从SSD的所述空间移除所述写入。
附图说明
图1是根据本公开的一些方面的用于管理固态驱动器的写入移除的系统的示例的框图。
图2是根据本公开的一些方面的用于管理固态驱动器的写入移除的系统的另一示例的框图。
图3是根据本公开的一些方面的用于管理固态驱动器的写入移除的过程的流程图。
具体实施方式
多个容器(container)的写入可以被存储在固态驱动器(SSD)中。写入是从一个位置转移(transfer)到另一个位置的数据对象,诸如文件。例如,写入可以是将数据对象转移到SSD。基于写入被接收到的时间而对写入进行交错(interleave),因此来自一个容器的数据不存储在连续的空间中。当SSD的空闲空间有限时,SSD可以擦除与已经关闭(shut down)并且释放(release)其SSD空间的容器相关联的数据。然而,SSD按块擦除数据,因此整个数据块必须包含被释放的数据,之后SSD可以擦除该数据。因此,SSD执行读取和该写入,以将块中未释放的数据移动到不同的块。读取是从块中获取数据的过程,而写入是将读取的数据转移到不同的块的操作。从移动数据到不同的块的写入称为写入放大,其会增加系统的开销。开销可以是带宽、计算时间、存储器使用或其他资源使用的增加,从而导致系统的性能不佳。此外,写入放大可以缩短SSD的使用寿命,因为SSD在块可以被擦除的次数数量方面是有限的。
本公开的一些示例可以通过提供一种系统来克服一个或多个上述问题,该系统可以为一个或多个容器的写入而指定SSD的空间。该系统可以响应于加载一个或多个容器,在该空间中存储一个或多个容器的写入以执行一个或多个容器。该系统可以使加载和执行一个或多个容器同步,以便将写入存储在指定的空间中。该系统可以确定执行阶段的结束。执行阶段可以是一个或多个容器被激活并执行读取和该写入或其他过程的阶段。执行阶段的结束可以是一个或多个容器的关闭或停用。响应于确定执行阶段的结束,系统可以从SSD的空间移除写入。系统可以维持该空间中的写入,直到系统确定一个或多个容器中的每一个不再处于执行阶段。由于容器的写入会一次完全被移除,因此可以减少SSD的写入放大。
一个特殊的示例可以涉及两个容器写入同一个SSD。系统可以确定两个容器的写入预计为8MB。因此,系统可以在SSD中指定8MB的连续空间来存储该写入。然后,系统可以加载两个容器,并将该写入存储在指定空间中。系统可以确定两个容器的执行阶段的结束。响应于两个容器的执行阶段的结束,系统可以从SSD的指定空间移除该写入。系统可以擦除该空间,而无需将数据移动到SSD中的其他空间,从而减少SSD的写入放大。
给出这些说明性示例是为了向读者介绍这里讨论的一般主题,而不是为了限制所公开概念的范围。以下部分参照附图描述了各种附加特征和示例,其中相同的数字表示相同的元件,但是与说明性示例一样,不应该将其用于限制本公开。
图1是根据本公开的一些方面的用于管理固态驱动器的写入移除的系统100的示例的框图。系统100可以包括客户端设备102、服务器110和固态驱动器(SSD)120。客户端设备102的示例可以包括台式计算机、膝上型计算机、移动电话等。客户端设备102可以通过网络130,例如局域网(LAN)或互联网,来与服务器110通信。
在一些示例中,客户端设备102可以执行容器104a-b。客户端设备102可以单独或同时执行容器104a-b。服务器110可以指定SSD 120的空间122,一个或多个容器104a-b的写入124将被存储到该空间122。如果客户端设备102执行容器104a-b,则服务器110可以为容器104a指定空间122。SSD 120的不同空间可以被指定给容器104b。为了指定空间122,服务器110可以确定每个容器104a-b的写入124的预期空间需求。服务器110可以将空间122指定为与预期空间需求相同的大小。例如,预期空间需求可以是SSD 120中的块的数量。作为一个特定示例,服务器110可以确定容器104a-b的写入124具有4MB的预期空间需求,并将空间122指定为4MB。空间122可以是SSD 120的连续空间。预先分配空间122可以允许写入124被释放,而无需写入放大。尽管在该示例中使用了4MB,但是对于一个或多个容器的写入,该空间可以是任何合适的大小。
在一些示例中,SSD 120可以是分区命名空间SSD。在这样的示例中,空间122可以是集体上满足写入124的预期空间需求的多个区域(zone)。每个容器可以被指定到空间122的不同区域,使得每个容器的数据不交错。可替代地,可以将多个容器指定给一个区域,但是每个区域的容器数量可以最小化以便减少写入放大。服务器110可以将空间122确定为区域的数量,该数量足够高以允许写入并行运行,但是足够低以使这些区域被填满。
在一些示例中,服务器110可以加载要在执行阶段执行的容器104a-b。在执行阶段期间,服务器110可以在加载容器104a-b之后,将容器104a-b的写入124存储到空间122。容器104a-b可以是容器组,并且服务器110可以协调容器104a-b的执行阶段,使得容器104a-b被同时启动和执行。可替代地,服务器110可以协调容器104a-b的执行阶段,使得容器104a-b彼此接续地(in succession)执行。当容器104a-b处于执行阶段时,服务器110可以维持(maintain)空间122中的写入124。维持写入124可以确保在可以移除整个写入124之前,写入124的数据的部分不被移除。
服务器110可以监视容器104a-b,以确定容器104a-b的执行阶段何时结束。当容器104a-b关闭或不再执行操作时,执行阶段可以结束。服务器110可以确定执行阶段的结束,并且作为响应,从SSD 120的空间122移除写入124。例如,服务器110可以确定执行阶段的结束,并且然后向SSD 120发送指示写入124要被移除的命令126。命令126可以是表明空间122中的写入124要被移除的修剪(trim)命令。如果容器104a-b被同时执行,则服务器110可以在确定所有容器104a-b的执行阶段结束之后发送修剪命令。SSD 120可以被配置为响应于接收到命令126而从空间122移除写入124。移除写入124可以释放空间122以便用于额外写入,而无需将数据移动到SSD 120的其他空间。结果,可以降低SSD 120的写入放大。
应当理解,图1旨在是说明性的而非限制性的。其他示例可以包括更多的组件、更少的组件、不同的组件或者图1所示的组件的不同布置。例如,尽管系统100在图1的示例中包括两个容器,但在其他示例中,系统100可以协调更多数量的容器。
图2是根据本公开的一些方面的用于管理固态驱动器的写入移除的系统200的另一示例的框图。系统200包括固态驱动器(SSD)212和处理器202。处理器202可以是诸如图1中的服务器110的服务器的一部分,。
在该示例中,处理器202与存储器204通信耦合。处理器202可以包括一个处理器或多个处理器。处理器202的非限制性示例包括现场可编程门阵列(FPGA)、专用集成电路(ASIC)、微处理器等。处理器202可以执行存储在存储器204中的指令208来执行操作。指令208可以包括由编译器或解释器从以任何合适的计算机编程语言(诸如C、C++、C#等)编写的代码中生成的特定于处理器的指令。
存储器204可以包括一个存储器或多个存储器。存储器204的非限制性示例可以包括电可擦除可编程只读存储器(EEPROM)、闪存或任何其他类型的非易失性存储器。至少一些存储器204包括处理器202可以从中读取指令208的非暂时性计算机可读介质。非暂时性计算机可读介质可以包括能够向处理器202提供计算机可读指令或其他程序代码的电子、光学、磁性或其他存储设备。非暂时性计算机可读介质的示例可以包括磁盘、存储器芯片、ROM、随机存取存储器(RAM)、ASIC、光学存储或计算机处理器可以从中读取指令208的任何其他介质。
在一些示例中,处理器202可以执行指令208来执行操作。例如,处理器202可以为容器210的写入216指定SSD 212的空间214。响应于加载容器210以执行容器210,处理器202可以将容器210的写入216存储在空间214中。处理器202可以确定容器210的执行阶段的结束,并且响应于确定执行阶段218的结束,处理器202可以从SSD 212的空间214移除写入216。
在一些示例中,处理器可以为多个容器指定空间214。处理器202可以使加载和执行多个容器同步,使得每个容器的写入被存储在空间214中。处理器202可以确定多个容器的执行阶段的结束,然后从空间中移除写入216。处理器202可以使写入216的移除同步,使得整个写入216被同时移除,与针对多个容器210中的一部分容器的写入相反。处理器202可以响应于确定多个容器的执行阶段的结束,向SSD 212发送指示写入216要被移除的命令。
在一些示例中,处理器202可以实现图3所示的一些或所有步骤。其他示例可以包括比图3所示更多的步骤、更少的步骤、不同的步骤或不同的步骤顺序。图3的步骤将在下面参考结合图2讨论的组件进行讨论。
在框302中,处理器202可以为容器210的写入216指定SSD 212的空间214。处理器202可以确定写入216的预期空间需求,并基于预期空间需求指定空间214。如果SSD 212是分区命名空间SSD,则处理器202可以将空间214指定为分区命名空间SSD的多个区域。
在框304中,处理器202可以响应于加载容器210,将容器210的写入216存储在空间214中以执行容器210。在空间214被指定给多个容器的示例中,处理器202可以使加载和执行多个容器210同步。
在框306中,处理器202可以确定容器210的执行阶段218的结束。处理器202可以确定容器210已经关闭或不再执行操作,以确定执行阶段218的结束。当容器210处于执行阶段时,处理器202可以维持SSD 212的空间214中的写入216。
在框308中,响应于确定执行阶段218结束,处理器202可以从SSD 212的空间214移除写入216。处理器202可以向SSD 212发送命令,例如修剪命令,以指示写入216要被移除。SSD 212可以被配置为响应于接收到命令而移除写入216。结果,容器210的数据可以从SSD212的连续空间中被移除,因此减少了SSD 212的写入放大。
仅出于说明和描述的目的而描述了某些示例的前述描述,包括所说明的示例,其并不旨在穷举或将本公开限制于所公开的精确形式。对于本领域技术人员来说,在不脱离本公开的范围的情况下,其许多修改、改编和用例将是显而易见的。例如,在此描述的任何示例可以与任何其他示例相结合以产生进一步的示例。

Claims (20)

1.一种系统,包括:
处理器;以及
包含指令的存储器,所述指令能够由所述处理器执行以使所述处理器:
为容器的写入指定固态驱动器(SSD)的空间;
响应于加载所述容器,在所述空间中存储所述容器的所述写入以执行所述容器;
确定所述容器的执行阶段的结束;以及
响应于确定所述执行阶段的结束,从SSD的所述空间移除所述写入。
2.根据权利要求1所述的系统,其中,所述存储器还包括能够由所述处理器执行以使所述处理器执行以下操作的指令:
确定所述容器处于所述执行阶段;以及
维持所述SSD的所述空间中的所述写入。
3.根据权利要求1所述的系统,其中,所述存储器还包括能够由所述处理器执行以使所述处理器通过以下方式指定所述空间的指令:
为所述容器的所述写入确定预期空间需求;以及
基于所述预期空间需求指定所述空间。
4.根据权利要求1所述的系统,其中,所述存储器还包括能够由所述处理器执行以使所述处理器执行以下操作的指令:通过向所述SSD发送指示所述写入要被移除的命令,以从所述SSD的所述空间移除所述写入。
5.根据权利要求4所述的系统,其中,所述命令包括修剪命令。
6.根据权利要求1所述的系统,其中,所述容器是多个容器中的容器,并且所述存储器还包括能够由所述处理器执行以使所述处理器执行以下操作的指令:
为所述多个容器的写入指定所述空间;
响应于加载所述多个容器以执行所述多个容器,在所述空间中存储所述多个容器的所述写入;
确定所述多个容器的执行阶段的结束;以及
响应于确定所述执行阶段的结束,从所述SSD的所述空间移除所述写入。
7.根据权利要求1所述的系统,其中,所述SSD包括分区命名空间SSD,并且所述空间包括多个区域。
8.一种计算机实现的方法,包括:
为容器的写入指定固态驱动器(SSD)的空间;
响应于加载所述容器,在所述空间中存储所述容器的所述写入以执行所述容器;
确定所述容器的执行阶段的结束;以及
响应于确定所述执行阶段的结束,从SSD的所述空间移除所述写入。
9.根据权利要求8所述的方法,进一步包括:
确定所述容器处于所述执行阶段;以及
维持所述SSD的所述空间中的所述写入。
10.根据权利要求8所述的方法,其中,指定所述空间包括:
为所述容器的所述写入确定预期空间需求;以及
基于所述预期空间需求指定所述空间。
11.根据权利要求8所述的方法,其中,从所述SSD的所述空间移除所述写入包括:向所述SSD发送指示所述写入要被移除的命令。
12.根据权利要求11所述的方法,其中,所述命令包括修剪命令。
13.根据权利要求11所述的方法,其中,所述容器是多个容器中的容器,并且所述方法还包括:
为所述多个容器的写入指定所述空间;
响应于加载所述多个容器以执行所述多个容器,在所述空间中存储所述多个容器的所述写入;
确定所述多个容器的执行阶段的结束;以及
响应于确定所述执行阶段的结束,从所述SSD的所述空间移除所述写入。
14.根据权利要求8所述的方法,其中,所述SSD包括分区命名空间SSD,并且所述空间包括多个区域。
15.一种非暂时性计算机可读介质,其包含能够由处理器执行以使所述处理器执行以下操作的程序代码:
为容器的写入指定固态驱动器(SSD)的空间;
响应于加载所述容器,在所述空间中存储所述容器的所述写入以执行所述容器;
确定所述容器的执行阶段的结束;以及
响应于确定所述执行阶段的结束,从SSD的所述空间移除所述写入。
16.根据权利要求15所述的非暂时性计算机可读介质,还包括能够由所述处理器执行以使所述处理器执行以下操作的程序代码:
确定所述容器处于所述执行阶段;以及
维持所述SSD的所述空间中的所述写入。
17.根据权利要求15所述的非暂时性计算机可读介质,还包括能够由所述处理器执行以使所述处理器通过以下方式指定所述空间的程序代码:
为所述容器的所述写入确定预期空间需求;以及
基于所述预期空间需求指定所述空间。
18.根据权利要求15所述的非暂时性计算机可读介质,还包括能够由所述处理器执行以使所述处理器执行以下操作的程序代码:通过向所述SSD发送指示所述写入要被移除的命令,以从所述SSD的所述空间移除所述写入。
19.根据权利要求18所述的非暂时性计算机可读介质,其中,所述容器是多个容器中的容器,并且所述非暂时性计算机可读介质还包括能够由所述处理器执行以使所述处理器执行以下操作的程序代码:
为所述多个容器的写入指定所述空间;
响应于加载所述多个容器以执行所述多个容器,在所述空间中存储所述多个容器的所述写入;
确定所述多个容器的执行阶段的结束;以及
响应于确定所述执行阶段的结束,从所述SSD的所述空间移除所述写入。
20.根据权利要求15所述的非暂时性计算机可读介质,其中,所述SSD包括分区命名空间SSD,并且所述空间包括多个区域。
CN202110702791.2A 2020-12-22 2021-06-24 管理固态驱动器的写入移除 Pending CN114661223A (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US17/130,163 2020-12-22
US17/130,163 US20220197553A1 (en) 2020-12-22 2020-12-22 Managing write removal for solid-state drives

Publications (1)

Publication Number Publication Date
CN114661223A true CN114661223A (zh) 2022-06-24

Family

ID=76305740

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110702791.2A Pending CN114661223A (zh) 2020-12-22 2021-06-24 管理固态驱动器的写入移除

Country Status (3)

Country Link
US (1) US20220197553A1 (zh)
EP (1) EP4020155A1 (zh)
CN (1) CN114661223A (zh)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11789611B2 (en) 2020-04-24 2023-10-17 Netapp, Inc. Methods for handling input-output operations in zoned storage systems and devices thereof
US11340987B1 (en) 2021-03-04 2022-05-24 Netapp, Inc. Methods and systems for raid protection in zoned solid-state drives
KR20230039127A (ko) * 2021-09-13 2023-03-21 에스케이하이닉스 주식회사 Ssd에 포함된 존의 병렬성을 탐지하는 장치 및 그 동작 방법
US11797377B2 (en) 2021-10-05 2023-10-24 Netapp, Inc. Efficient parity determination in zoned solid-state drives of a storage system
US11803329B2 (en) 2021-11-22 2023-10-31 Netapp, Inc. Methods and systems for processing write requests in a storage system
US11816359B2 (en) 2021-12-16 2023-11-14 Netapp, Inc. Scalable solid-state storage system and methods thereof

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7845005B2 (en) * 2006-02-07 2010-11-30 International Business Machines Corporation Method for preventing malicious software installation on an internet-connected computer
TWI599881B (zh) * 2014-01-22 2017-09-21 群暉科技股份有限公司 用來適應性地管理一固態硬碟之方法、裝置、與計算機程式產品
US10002026B1 (en) * 2015-12-21 2018-06-19 Amazon Technologies, Inc. Acquisition and maintenance of dedicated, reserved, and variable compute capacity
US10387199B2 (en) * 2017-03-31 2019-08-20 International Business Machines Corporation Container chaining for automated process completion
US10338966B2 (en) * 2017-04-20 2019-07-02 Red Hat, Inc. Instantiating containers with a unified data volume
US10223254B1 (en) * 2017-11-16 2019-03-05 Micron Technology, Inc. Namespace change propagation in non-volatile memory devices
US10802741B2 (en) * 2018-11-12 2020-10-13 Vmware, Inc. Pre-zeroing blocks in files using automatic file unmap framework
US20210232419A1 (en) * 2020-01-24 2021-07-29 Vmware, Inc. Canary process for graceful workload eviction

Also Published As

Publication number Publication date
EP4020155A1 (en) 2022-06-29
US20220197553A1 (en) 2022-06-23

Similar Documents

Publication Publication Date Title
CN114661223A (zh) 管理固态驱动器的写入移除
US10915442B2 (en) Managing block arrangement of super blocks
US10642729B2 (en) Data storage device and operating method thereof wherein update to physical-to-logical mapping of destination block is restarted when closing active block
US11237769B2 (en) Memory system and method of controlling nonvolatile memory
US10976930B2 (en) Memory device and host device
US7970806B2 (en) Methods and apparatus for file management using partitioned file metadata
CN110389718B (zh) 存储系统及非易失性存储器的控制方法
EP3588259B1 (en) Garbage collection method for storage media, storage medium, and program product
CN105900069B (zh) 对被存储在闪存存储器中的数据的推测性预取
EP1771862B1 (en) Method and device to improve usb flash write performance
US10956318B2 (en) Overlapping ranges of pages in memory systems
EP3223160B1 (en) Managing backup of logical-to-physical translation information to control boot-time and write amplification
US10789170B2 (en) Storage management method, electronic device and computer readable medium
CN108108261A (zh) 数据存储装置及其操作方法
US9483395B2 (en) Asynchronous bad block management in NAND flash memory
CN113986773A (zh) 基于固态硬盘的写放大优化方法、装置及计算机设备
US9304906B2 (en) Memory system, controller and control method of memory
CN110888593B (zh) 数据储存装置以及非挥发式存储器控制方法
CN110737405A (zh) 基于固态硬盘的wordline数据存储实现方法和装置
US9208076B2 (en) Nonvolatile storage device and method of storing data thereof
CN111966294B (zh) 存储数据的方法、装置、设备及存储介质
US20240143193A1 (en) Memory system related to selectively storing data and a corresponding map, and an operating method of the memory system
US20160335022A1 (en) Storing indicators of unreferenced memory addresses in volatile memory
JP2009104430A (ja) フラッシュディスク装置
CN116974485A (zh) 基于HMB的RAID Parity暂存方法、装置和计算机设备

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination