CN113196258A - 信息处理装置、信息处理方法和信息处理程序 - Google Patents
信息处理装置、信息处理方法和信息处理程序 Download PDFInfo
- Publication number
- CN113196258A CN113196258A CN201980082808.XA CN201980082808A CN113196258A CN 113196258 A CN113196258 A CN 113196258A CN 201980082808 A CN201980082808 A CN 201980082808A CN 113196258 A CN113196258 A CN 113196258A
- Authority
- CN
- China
- Prior art keywords
- data
- information processing
- host system
- processing apparatus
- system side
- 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
Links
- 230000010365 information processing Effects 0.000 title claims abstract description 144
- 238000003672 processing method Methods 0.000 title claims description 28
- 230000015654 memory Effects 0.000 description 34
- 238000010586 diagram Methods 0.000 description 23
- 238000000034 method Methods 0.000 description 7
- 230000006870 function Effects 0.000 description 4
- 238000012986 modification Methods 0.000 description 4
- 230000004048 modification Effects 0.000 description 4
- 238000006243 chemical reaction Methods 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- XUIMIQQOPSSXEZ-UHFFFAOYSA-N Silicon Chemical compound [Si] XUIMIQQOPSSXEZ-UHFFFAOYSA-N 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 230000000717 retained effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 229910052710 silicon Inorganic materials 0.000 description 1
- 239000010703 silicon Substances 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/061—Improving I/O performance
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/18—File system types
- G06F16/1865—Transactional file systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0604—Improving or facilitating administration, e.g. storage management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0638—Organizing or formatting or addressing of data
- G06F3/064—Management of blocks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0659—Command handling arrangements, e.g. command buffers, queues, command scheduling
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
- G06F3/0679—Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
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)
- Memory System (AREA)
Abstract
该信息处理装置包括针对每个预定数据量执行数据访问,并且当要写入要从主机系统侧发送的数据时,以及当要发送的数据被推导为构成一个文件的连续数据时,将指示该数据是连续数据的元数据与来自主机系统侧的数据一起写入。
Description
技术领域
本公开涉及信息处理装置、信息处理方法和信息处理程序。更具体地,本公开涉及信息处理装置、信息处理方法和信息处理程序,其中针对每个预定数据量访问数据。
背景技术
近年来,诸如硬盘、使用闪存的硅盘等的信息处理装置正被广泛地用作存储数字数据的信息处理装置。数字数据通常存储在使用文件系统的信息处理装置中。
例如,当对硬盘进行格式化以构造所谓的FAT文件系统时,在硬盘内形成文件分配表、根目录区域等。诸如操作系统(OS)的主机系统通常以簇为单位管理数据,每个簇由多个扇区构成,并且以扇区为单位读取和写入构成文件的二进制数据。除了文件名和属性外,诸如所存储的文件的开始簇号的信息作为目录条目被保留在根目录区域中。
主机系统通过参考目录条目获得文件的开始簇号,并在此基础上参考文件分配表中的开始簇号的条目获得下一个簇号。主机系统然后在文件分配表中参考下一个簇号的条目,并获得此后的下一个簇号。通过继续这种操作可以识别存储指定的文件的二进制数据的簇号。
使用闪存的信息处理装置执行与上述相同的基本操作。例如,对于NAND闪存,读取是以多个位(被称为页面)为单位进行的。然而,在已经记录了某些内容的页面中不能直接覆盖数据,而是必须首先删除整个页面。此外,需要以块为单位删除前述页面,每个块包含多个页面。因此,当重写数据时,有必要执行这样的处理,其中将新数据写入已被删除的已删除块,并且删除已写入旧数据的块。这样,在NAND闪存中,重写后的数据必须被写入与重写前的数据不同的块(参见PTL 1)。
因此,每次重写数据时,从主机系统侧分配的逻辑块地址与闪存中的物理块地址之间的对应关系动态地改变。因此,当访问闪存时,需要指示逻辑块地址与物理块地址之间的对应关系的地址转换表。这种处理由闪存的存储器控制器执行,并且不涉及主机系统。因此,即使主机系统假设顺序数据已被写入顺序块,该数据实际上也可能已被写入非顺序块。
[引文目录]
[专利文献]
[PTL 1]
JP 2006-155335 A
发明内容
[技术问题]
例如,当文件分配表的索引信息已被损坏或丢失,并且文件系统被损坏时,已写入的文件将变得不可访问。在这种状态下,如果预定文件存储在顺序簇或顺序块中,则可以基于存储位置的连续性来尝试通过写入文件的二进制数据来恢复文件。然而,如果预定文件存储在非顺序簇或块中,那么基于存储位置的连续性来恢复数据是极其困难的。特别是对于闪存,即使主机系统假设顺序数据已被写入顺序块,数据实际上可能已被写入非顺序块,这使得恢复数据极其困难。
因此,本公开的目的是提供一种即使在文件系统被损坏时也能够在一定程度上识别其中存储了写入文件的数据的簇、块等的信息处理装置,以及阐明的信息处理装置的信息处理方法和信息处理程序
[问题解决方案]
根据本公开的用于实现上述目的的信息处理装置是针对每个预定数据量访问数据的信息处理装置。
当写入从主机系统侧发送的数据时,在推测数据是构成单个文件的连续数据的情况下,指示来自主机系统侧的数据是连续数据的元数据与来自主机系统侧的数据一起写入。
根据本公开的用于实现上述目的的信息处理方法是一种信息处理方法,该信息处理方法包括:当将从主机系统侧发送的数据写入针对每个预定数据量访问数据的信息处理装置中时,
确定所发送的数据是否被推测为构成单个文件的连续数据的步骤,以及
当数据被推测为连续数据时,将指示来自主机系统侧的数据是连续数据的元数据与来自主机系统侧的数据一起写入的步骤。
根据本公开的用于实现上述目的的信息处理程序是由计算机执行的信息处理程序,该程序控制针对每个预定数据量访问数据的信息处理装置,该程序在写入从主机系统侧发送的数据时包括:
确定所发送的数据是否被推测为构成单个文件的连续数据的步骤,以及
当数据被推测为连续数据时,将指示来自主机系统侧的数据是连续数据的元数据与来自主机系统侧的数据一起写入的步骤。
附图说明
【图1】图1是根据第一实施例的信息处理装置的示意性框图。
【图2】图2是示出由闪存构成的存储设备中的块与页面之间的关系的说明图。图2A示出了块的结构,图2B示出了包含在块中的页面的结构。
【图3】图3是示出从主机系统侧指示的逻辑块与存储设备侧上的物理块可以如何不同的说明图。
【图4】图4是示出写处理中基本操作的示意性流程图。
【图5】图5是示出存储在存储设备的每个页面中的数据的示意图。
【图6】图6是示出存储设备中的写处理的示例的说明图。
【图7】图7是示出在图6中示出的操作中写入存储设备的每个页面中的元数据的细节的说明图。
【图8】图8是示出如何能够基于元数据访问相关页面而不考虑文件系统信息的说明图。
【图9】图9是示出包括确定发送的数据的大小的写处理中的基本操作的示意性流程图。
【图10】图10是示出图9中的异常处理的细节的示意性流程图。
【图11】图11是示出在图9和图10中示出的操作中写入存储设备的每个页面中的元数据的细节的说明图。
【图12】图12是示出通过LBA(逻辑块寻址)识别扇区的情况的说明图。
【图13】图13是示出在通过LBA识别扇区的情况下的元数据的细节的说明图。
【图14】图14是示出来自主机系统侧的数据与元数据都被写入扇区的情况的示例的说明图。
【图15】图15是示出来自主机系统侧的数据与元数据被存储在独立的记录区域中的情况的示例的说明图。
具体实施方式
下面将基于实施例并参考附图描述本公开。本公开不旨在限于实施例,并且实施例中的各种数值、材料等仅仅是示例。在下面的描述中,将对相同的元件或具有相同功能的元件使用相同的附图标记,并且将不给出其冗余的描述。请注意,这些描述将按以下顺序给出。
1.根据本公开的信息处理装置、信息处理方法和信息处理程序的总体描述
2.第一实施例
3.第二实施例
4.变型例
5.其他
[根据本公开的信息处理装置、信息处理方法和信息处理程序的总体描述]
在根据本公开的信息处理装置、信息处理方法和信息处理程序(以下可简称为“本公开”)中,基于跟随紧接在前的写命令的预定时间量内是否发出了来自主机系统侧的写命令,来确定数据是否被推测为连续数据。
尽管取决于主机系统侧上的配置等,但可以想象当将单个文件写入信息处理装置中时从主机系统侧发出多个写命令的情况。在这种情况下,第二和随后的写命令被认为是在前一个写命令之后不久被发出的。因此,当来自主机系统侧的写命令在紧接在前的写命令之后不久被发出时,这些写命令被推测对应于写入构成单个文件的连续数据的处理。因此,可以通过确定跟随紧接在前的写命令的预定时间量内是否发出了来自主机系统侧的写命令来确定数据是否被推测为连续数据。注意,“预定时间量”可以基于主机系统和信息处理装置的规格等被适当地设置。
在包括上述优选配置的本公开中,可以采用这样的配置,其中确认从主机系统侧发送的数据的大小,并且基于数据是否大于或等于预定大小来确定数据是否被推测为连续数据。
尽管取决于主机系统侧的配置等,但当写入大小仅为大约4KB时,例如,可以推测该数据本身单独构成单个文件。相反,当写入大小超过64KB时,例如,该数据被推测为与紧接在前的写命令对应的数据连续。这是因为当写入具有大文件大小的数据,例如视频数据或图像数据时,执行处理使得按顺序写入一定大小的数据。因此,可以通过从主机系统侧确定写入大小的量来确定数据是否被推测为连续数据。注意,“预定大小”可以基于主机系统和信息处理装置的规格等被适当地设置。
在包括上述各种优选配置的本公开中,可以采用这样的配置,其中当指定从主机系统侧读取文件时,基于元数据预先读取存储在文件中的数据。
当从主机系统侧发出文件的读取命令时,信息处理装置侧可以基于元数据,预先读取存储该文件的二进制数据的区域。这使得提高读取速度成为可能。
在包括上述各种优选配置的本公开中,可以采用其中预定数据量是每页的数据量的配置。
在这种情况下,可以采用这样的配置,其中信息处理装置以块为单位管理数据,每个块包括多个页面。还可以采用这样的配置,其中信息处理装置将数据写入数据被删除的块。
在这种情况下,可以采用这样的配置,其中元数据包括指示数据被推测为连续数据的标志,以及块的信息和页面的信息,数据被紧接在块的信息和页面的信息之前存储。此外,可以采用这样的配置,其中针对要写入的每个页面写入来自主机系统侧的数据和元数据。或者,也可以采用这样的配置,其中来自主机系统侧的数据和元数据分别存储在独立的记录区域中。
或者,在包括上述优选配置的本公开中,可以采用其中预定数据量是每个扇区的数据量的配置。
在这种情况下,可以采用这样的配置,其中信息处理装置以簇为单位管理数据,每个簇包括多个扇区。另外,可以采用这样的配置,其中元数据包括指示数据被推测为连续数据的标志,以及扇区的信息,数据被紧接在扇区的信息之前存储。此外,可以采用这样的配置,其中针对要写入的每个扇区写入来自主机系统侧的数据和元数据。或者,可以采用这样的配置,其中来自主机系统侧的数据和元数据分别存储在独立的记录区域中。
在本公开中,要写入的介质没有被特别地限制,并且可以使用公知的介质来配置,包括诸如闪存的半导体存储介质和诸如FDD、CD-R、DVD-R和HDD的磁盘介质。除了这些介质之外,信息处理装置还可以由执行信息处理的控制器构成。控制器可以例如由计算机、逻辑电路等的组合构成。
[第一实施例]
第一实施例涉及根据本公开的信息处理装置、信息处理方法和信息处理程序。
图1是根据第一实施例的信息处理装置的示意性框图。
信息处理装置1包括,例如,由闪存构成的存储设备20和控制存储设备20的存储器控制器10。信息处理装置1例如可移除地连接到主机系统9,并且用作主机系统9的存储装置。除了个人计算机、数字摄像机和数字静态照相机之外,还可以给出诸如智能手机和移动电话之类的移动电子终端作为主机系统9的示例。
存储器控制器10包括:微处理器11,整体控制存储器控制器;由RAM等构成的数据缓冲器12;构成与主机系统9侧的接口的主机系统I/F(附图标记13);以及构成与存储设备20侧的接口的存储设备I/F(附图标记14)。存储器控制器10基于存储在未示出的存储装置中的信息处理程序进行操作。当写入从主机系统9侧发送的数据时,确定发送的数据是否被推测为构成单个文件的连续数据的步骤,以及当发送的数据被推测为连续数据时,将指示该数据是连续数据的元数据与来自主机系统9侧的数据一起写入的步骤被执行。
由附图标记13指示的主机系统I/F执行与主机系统9的通信,主机系统9涉及与读取和写入有关的命令以及文件数据、逻辑地址信息等。由附图标记14指示的存储设备I/F执行与存储设备20的通信,存储设备20涉及控制操作、数据、物理地址信息等的命令。
数据缓冲器12暂时保持要写入存储设备20的数据或从存储设备20读取的数据。例如,将从存储设备20读取的数据保持在数据缓冲器12中,直到在主机系统9侧完成接收准备。同样,要写入到存储设备20的数据保持在数据缓冲器12中,直到在存储设备20侧完成写入准备。
存储设备20由所谓的NAND闪存构成。在存储设备20中,以多个位(被称为页面)为单位执行写入。如上所述,在已经记录了某些内容的页面中不能直接覆盖数据,而是必须首先删除整个页面。此外,以块为单位删除前述页面,每个块包含多个页面。因此,信息处理装置1将数据写入已从其中删除了数据的块。
图2是示出由闪存构成的存储设备中的块与页面之间的关系的说明图。图2A示出了块的结构,图2B示出了包括在块中的页面的结构。
如图2A所示,存储设备20包括例如由附图标记PB#00至PB#99指示的多个块。此外,如图2B所示,每个块由附图标记PG00至PG31指示的页面构成。如后面将参考的图5所述,每个页面由例如4096位的数据区域和34位的冗余区域构成。此外,如后面将描述的,冗余区域被用作元数据存储区域。
图3是示出从主机系统侧指示的逻辑块与在闪存侧上的物理块可以如何不同的说明图。
主机系统9指定逻辑地址并执行写入。图3是其中具有指定的连续逻辑地址来执行写入的示例。该关系使得逻辑地址LBA00至LBA31对应于逻辑块LB#00,并且逻辑地址LBA32至LBA63对应于逻辑块LB#01。
如上所述,在NAND闪存中,在已经记录了某些内容的页面中不能直接覆盖数据,而是必须首先删除整个页面。此外,必须以块为单位删除前述页面,每个块包含多个页面。因此,当写入数据时,逻辑块与物理块之间的对应关系不是唯一的。图3示出了逻辑块LB#00对应于物理块PB#03、逻辑块LB#01对应于物理块PB#01、逻辑块LB#02对应于物理块PB#05的情况的示例。
指示逻辑块地址与物理块地址之间的对应关系的地址转换表是在存储器控制器10内构造的,并且不涉及主机系统9。这样,尽管主机系统9侧发出将顺序数据写入顺序块的命令,但数据实际上被写入存储设备20中的非顺序块。在这种情况下,当文件系统被损坏时,通常难以识别存储已被写入的文件的数据的多个块。
因此,在信息处理装置1中,当写入从主机系统9侧发送的数据时,在推测数据是构成单个文件的连续数据的情况下,指示来自主机系统9侧的数据是连续数据的元数据与该数据一起被写入。更具体地说,基于跟随紧接在前的写命令的预定时间量内是否发出了来自主机系统9侧的写命令,来确定数据是否被推测为连续数据。
图4是示出写处理中基本操作的示意性流程图。
当从主机系统9侧发出文件的写命令时,存储器控制器10将指示文件的[开始]的标志分配给发送的数据(步骤S101)。然后写入包括标志信息的元数据和发送的数据(步骤S102)。
当向信息处理装置1写入单个文件时,通常从主机系统9侧多次发出写命令。在这种情况下,第二和随后的写命令被认为是在前一个写命令之后不久被发出的。
当确定下一个写命令在预定的设置周期内到达时,存储器控制器10推测从主机系统9侧接收的发送的数据与前一个数据连续,并且将指示数据是[连续的]的标志分配给发送的数据(步骤S103)。然后写入包括标志信息的元数据和发送的数据(步骤S102)。然后,基本上重复上述循环。
注意,当下一个写命令不在预定的设置周期内时,该写入被推测为针对不同文件的写入。在这种情况下,序列离开上述循环并返回到图4中的“开始”。
到目前为止,已经描述了根据第一实施例的写处理的基本操作。
图5是示出存储在存储设备的每个页面中的数据的示意图。
在信息处理装置1中,针对每个预定数据量,更具体地,每个以页面为单位的数据量来访问数据。信息处理装置1以块为单位管理数据,每个块包括多个页面。每个页面由例如4096位的数据区域和34位的冗余区域构成。此外,冗余区域被用作元数据存储区域。元数据包括指示数据被推测为连续数据的标志,以及块的信息和页面的信息,数据被紧接在块的信息和页面的信息之前存储。
在图中所示的示例中,元数据存储区域的Bit0对应的[段A]对应于指示文件的[开始]的标志,并且具有[0:未开始]或[1:开始]的含义。此外,元数据存储区域的Bit1对应的[段B]对应于指示涉及数据的[连续性]的信息的标志,并且具有[0:不连续的]或[1:连续的]的含义。在Bit2至Bit17对应的[段C]中存储有存储了前一个实例的[连续数据]的物理页码,在Bit18至Bit33对应的[段D]中存储有存储了前一个实例的[连续数据]的物理块号。然后,针对要写入的每个页面从主机系统9侧写入数据和元数据。
下面将参考图6和图7描述由闪存构成的存储设备20中的写处理的示例。
图6是示出存储设备中的写处理的示例的说明图。图7是示出在图6所示的操作中写入存储设备的每个页面中的元数据的细节的说明图。
图6所示的示例是其中由逻辑地址LBA00至LBA63指定的数据从主机系统9侧写入到存储设备20侧的示例。这里,逻辑地址LBA00至LBA31构成逻辑块LB#00,并且逻辑地址LBA32至LBA63构成逻辑块LB#01。假设逻辑块LB#00的数据被写入存储设备20的物理块PB#03,并且假设逻辑块LB#01的数据被写入存储设备20的物理块PB#01。
首先,存储器控制器10经由通过逻辑地址LBA00指定的发送的数据分配指示[开始]的标志(图4中的步骤S101)。然后,将来自主机系统9侧的数据和包括指示[开始]的标志的元数据写入物理块PB#03的页面PG00(图4中的步骤S102)。
如图5所示,元数据包括指示[开始]的标志、指示[连续的]的标志、以及块的信息和页面的信息,数据被紧接在块的信息和页面的信息之前存储。假设当指示[开始]的标志被分配时,指示[连续的]的标志被设置为0。此外,块的信息和页面的信息未被定义,数据被紧接在块的信息和页面的信息之前存储。因此,如图7所示,物理块PB#03的页面PG00中的元数据如下:
[段A:1]
[段B:0]
[段C:N/A]
[段D:N/A]
假设在预定的设置周期内有随后的写命令,存储器控制器10将指示[连续的]的标志分配给从主机发送的数据(图4中的步骤S103和S104)。元数据包括指示该数据被推测为连续数据的标志,以及块的信息和页面的信息,数据被紧接在块的信息和页面的信息之前存储。物理块PB#03的页面PG01中的元数据如下:
[段A:0]
[段B:1]
[段C:PG00]
[段D:PB#03]
此后执行相同的处理,直到物理块PB#03的页面PG31。然后在物理块PB#01中进行下一次写入。物理块PB#01的页面PG00中的元数据如下:
[段A:0]
[段B:1]
[段C:PG31]
[段D:PB#03]
物理块PB#01的下一个页面PG01中的元数据如下:
[段A:0]
[段B:1]
[段C:PG00]
[段D:PB#01]
此后执行相同的处理,直到物理块PB#01的页面PG31。
在已写入这种元数据的存储设备20中,即使文件分配表的索引信息已损坏或丢失,并且文件系统已被损坏,元数据中的信息也可以用作追踪已写入指定的文件的多个页面的线索。
图8是示出如何基于元数据来访问相关页面而不考虑文件系统信息的说明图。
例如,如果期望物理块PB#01的页面PG31是文件的结束信息,则紧接在前写入的页面为PG30,该块为PB#01,即[段B:1],因此基于页面PG31的元数据,通过类比可以推断该数据是连续数据。重复此操作将导致物理块PB#01的页面PG00。
然后,基于页面PG00的元数据,紧接在前写入的页面为PG31,块为PB#03,即[段B:1],因此通过类比可以推断该数据是连续数据。重复上述操作,得出页面PG00的元数据的[段A:1],因此可以看出这是文件的开始位置。
因此,可以推测给定文件的数据由物理块PB#03的页面PG00至PG31和物理块PB#01的页面PG00至PG31构成。通过读出这些页面中包含的二进制数据,可以尝试恢复文件。
如上所述,根据第一实施例,通过参考元数据中的信息,可以在一定程度上识别存储有写入文件的数据的块等。这样,即使文件的数据存储在离散块等中,也可以尝试恢复该文件。
注意,前面描述了针对要写入的每个页面从主机系统9侧写入的数据和元数据。根据情况,也可以采用这样的配置,其中来自主机系统9侧的数据和元数据分别存储在独立的记录区域中。例如,这是其中指定的块仅存储元数据的配置,。
此外,根据信息处理装置1,通过参考元数据中的信息,可以识别其中存储有写入文件的数据的块等。因此,也可以采用这样的配置,其中当指定从主机系统9侧读取文件时,基于元数据预先读取存储在文件中的数据。这使得可以改善数据读出性能。
此外,通过向主机系统9侧提供基于数据的连续性读出数据的功能,主机系统9可以在必要时从信息处理装置1读出数据,同时在写入数据时确认已连续写入的数据的连续性。
此外,主机系统9侧具有用于将数据的连续性预先传送到信息处理装置1的功能,并且信息处理装置1基于从主机系统9侧传送的数据连续性信息生成元数据,并与文件的数据一起存储元数据的方面也是可能的。
[第二实施例]
第二实施例还涉及根据本公开的信息处理装置、信息处理方法和信息处理程序。
第一实施例描述了这样的配置,其中,基于跟随紧接在前的写命令的预定时间量内是否发出了来自主机系统侧的写命令,来确定数据是否被推测为连续数据。
当来自主机系统侧的数据是连续的时,通常期望从主机系统发送的数据的大小是一定的大小。相反,可以通过考虑所发送的数据的大小来推测数据的不连续性或连续性。
在第二实施例中,除了第一实施例之外,确认从主机系统侧发送的数据的大小,并且基于数据是否大于或等于预定大小来确定数据是否被推测为连续数据。
根据第二实施例的信息处理装置2的示意性框图可以与图1相同,但将“信息处理装置1”替换为“信息处理装置2”。
图9是示出包括确定发送的数据的大小的写处理中的基本操作的示意性流程图。图10是示出图9中的异常处理的细节的示意性流程图。
图9所示的操作基本上对应于确定在第一实施例中参考的图4中的(步骤S103)与(步骤S104)之间发送的数据是否大于或等于预定大小(步骤S200)。当发送的数据没有大于或等于预定大小时,在假设连续性是可疑的情况下,执行由步骤S201至S207构成的异常处理。下面将参考附图描述异常处理。
图10是示出图9中的异常处理的细节的示意性流程图。
当发送的数据没有大于或等于预定大小时,首先,存储器控制器10确定是否从主机系统9侧在写命令中指定了与一次写入之前执行的写入连续的逻辑地址(步骤S201)。
当确定为[是]时,存储器控制器10执行(步骤S104)的处理,然后返回(步骤S102)。另一方面,当确定为[否]时,存储器控制器10暂时保持发送的数据,等待下一个写命令(步骤S202),并且确定下一个写命令是否在预定的设置周期内到达(步骤S203)。
当(步骤S203)中的确定为[否]时,推测写入是针对不同文件的写入。因此,存储器控制器10退出如下所述的循环,并返回到图4中的“开始”。注意,暂时保持的数据可以作为不同文件的第一数据被处理。另一方面,当(步骤S203)中的确定为[是]时,确定发送的数据是否大于或等于预定大小(步骤S204)。
当(步骤S204)中的确定为[是]时,推测与先前的数据的连续性是可疑的,并且将指示数据的[连续性可疑]的标志分配给发送的数据(步骤S205)。然后,序列返回到(步骤S102),并且重复处理。注意,指示[连续性可疑]的标志可以被分配给暂时保持的数据和下一个写命令的数据,或者指示[连续性可疑]的标志可以被分配给前者,并且指示[连续的]的标志可以被分配给后者。
当(步骤S204)中的确定为[否]时,确定是否已经从主机系统9侧指定了与两次写入之前的写入连续的逻辑地址(步骤S206)。
当(步骤S206)中的确定为[是]时,推测存在与先前的数据的连续性,并且将指示数据的[连续的]的标志分配给发送的数据(步骤S207)。然后,该序列返回到(步骤S102),并且重复处理。注意,指示[连续的]的标志可以被分配给暂时保持的数据和下一个写命令的数据。
当(步骤S206)中的确定为[否]时,推测写入是针对不同文件的写入。因此,存储器控制器10退出如下所述的循环,并返回到图中的“开始”。注意,暂时保持的数据可以作为不同文件的第一数据被处理。
到目前为止,已经描述了根据第二实施例的写处理的基本操作。
如上所述,根据第二实施例,即使在连续性是可疑的时也分配标志。根据第一实施例,图5所示的[段A]和[段B]被各自独立地使用。如图11所示,在第二实施例中,例如,通过将[段A]和[段B]处理为两个连续的位,当连续性是可疑的时,分配诸如[11]的标志。
[变型例]
在上述每个实施例中,存储设备被描述为由闪存构成。然而,在本公开中使用的存储设备不限于闪存,也可以使用诸如HDD的磁盘设备。在磁盘设备的情况下,可以采用其中预定数据量是每个扇区的数据量的配置。在这种情况下,可以采用这样的配置,其中信息处理装置以簇为单位管理数据,每个簇包括多个扇区。
这里将描述HDD中的扇区的标识的示例。图12是示出通过LBA(逻辑块寻址)识别扇区的情况的说明图。
为了识别闪存中的页面,已经需要识别该页面所属的块的编号和块内的页码。但是,在LBA的情况下,每个扇区通过唯一的编号被识别。因此,可以采用这样的配置,其中元数据包括指示数据被推测为连续数据的标志,以及扇区的信息,数据被紧接在扇区的信息之前存储。图13是示出在通过LBA识别扇区的情况下的元数据的细节的说明图。
在变型例中,也可以采用这样的配置,其中针对要写入的每个扇区,从主机系统9侧写入数据和元数据。图14是示出来自主机系统9侧的数据和元数据都被写入扇区的情况的示例的说明图。
或者,可以采用这样的配置,其中来自主机系统9侧的数据和元数据分别存储在独立的记录区域中。例如,HDD的预定区域中的所有扇区可用于存储元数据,并且数据和元数据可存储在独立的记录区域中。图15是在用于记录元数据的扇区中元数据的存储的示例。
尽管上面已经详细描述了本公开的实施例,但是本公开不限于上述实施例,并且基于本公开的技术精神的许多变型例是可能的。
注意,本公开的技术还可以采用诸如下面描述的那些配置。
[A1]
一种信息处理装置,其中,针对每个预定数据量访问数据,其中
当写入从主机系统侧发送的数据时,在推测数据是构成单个文件的连续数据的情况下,指示来自主机系统侧的数据是连续数据的元数据与来自主机系统侧的数据一起被写入。
[A2]
根据前述[A1]项所述的信息处理装置,其中
数据是否被推测为连续数据是基于跟随紧接在前的写命令的预定时间量内是否发出了来自主机系统侧的写命令来确定的。
[A3]
根据前述[A1]或[A2]项所述的信息处理装置,其中
从主机系统侧发送的数据的大小被确认,并且该数据是否被推测为连续数据是基于该数据是否大于或等于预定大小来确定的。
[A4]
根据前述[A1]至[A3]中任一项所述的信息处理装置,其中
当指定从主机系统侧读取文件时,存储在该文件中的数据被基于元数据预先读取。
[A5]
根据前述[A1]至[A4]中任一项所述的信息处理装置,其中
预定数据量是每页的数据量。
[A6]
根据前述[A5]项所述的信息处理装置,其中
信息处理装置以块为单位管理数据,每个块包括多个页面。
[A7]
根据前述[A6]项所述的信息处理装置,其中
信息处理装置将数据写入数据被删除的块。
[A8]
根据前述[A6]或[A7]项所述的信息处理装置,其中
元数据包括指示数据被推测为连续数据的标志以及块的信息和页面的信息,其中,数据被紧接在该块的信息和页面的信息之前存储。
[A9]
根据前述[A8]项所述的信息处理装置,其中
来自主机系统侧的数据和元数据被针对要写入的每个页面写入。
[A10]
根据前述[A8]项所述的信息处理装置,其中
来自主机系统侧的数据和元数据分别存储在独立的记录区域中。
[A11]
根据前述[A1]项所述的信息处理装置,其中
预定数据量是每个扇区的数据量。
[A12]
根据前述[A11]项所述的信息处理装置,其中
信息处理装置以簇为单位管理数据,每个簇包括多个扇区。
[A13]
根据前述[A11]或[A12]项所述的信息处理装置,其中
元数据包括指示数据被推测为连续数据的标志以及扇区的信息,其中,数据被紧接在该扇区之前存储。
[A14]
根据前述[A13]项所述的信息处理装置,其中
来自主机系统侧的数据和元数据被针对要写入的每个扇区写入。
[A15]
根据前述[A13]项所述的信息处理装置,其中
来自主机系统侧的数据和元数据分别存储在独立的记录区域中。
[B1]
一种信息处理方法包括,当将从主机系统侧发送的数据写入针对每个预定数据量访问数据的信息处理装置中时:
确定所发送的数据是否被推测为构成单个文件的连续数据的步骤,以及
当数据被推测为连续数据时,将指示来自主机系统侧的数据是连续数据的元数据与来自主机系统侧的数据一起写入的步骤。
[B2]
根据前述[B1]项所述的信息处理方法,其中
基于跟随紧接在前的写命令的预定时间量内是否发出了来自主机系统侧的写命令来确定数据是否被推测为连续数据。
[B3]
根据前述[B1]或[B2]项所述的信息处理方法,其中
确认从主机系统侧发送的数据的大小,并且基于该数据是否大于或等于预定大小来确定该数据是否被推测为连续数据。
[B4]
根据前述[B1]至[B3]中任一项所述的信息处理方法,其中
当指定从主机系统侧读取文件时,基于元数据预先读取存储在该文件中的数据。
[B5]
根据前述[B1]至[B4]中任一项所述的信息处理方法,其中
预定数据量是每页的数据量。
[B6]
根据前述[B5]项所述的信息处理方法,其中
以块为单位管理数据,每个块包括多个页面。
[B7]
根据前述[B6]项所述的信息处理方法,其中
将数据写入数据被删除的块。
[B8]
根据前述[B6]或[B7]项所述的信息处理方法,其中
元数据包括指示数据被推测为连续数据的标志,以及块的信息和页面的信息,数据被紧接在块的信息和页面的信息之前存储。
[B9]
根据前述[B8]项所述的信息处理方法,其中
针对要写入的每个页面写入来自主机系统侧的数据和元数据。
[B10]
根据前述[B8]项所述的信息处理方法,其中
来自主机系统侧的数据和元数据分别存储在独立的记录区域中。
[B11]
根据前述[B1]项所述的信息处理方法,其中
预定数据量是每个扇区的数据量。
[B12]
根据前述[B11]项所述的信息处理方法,其中
以簇为单位管理数据,每个簇包括多个扇区。
[B13]
根据前述[B11]或[B12]项所述的信息处理方法,其中
元数据包括指示数据被推测为连续数据的标志,以及扇区的信息,数据被紧接在扇区的信息之前存储。
[B14]
根据前述[B13]项所述的信息处理方法,其中
针对要写入的每个扇区写入来自主机系统侧的数据和元数据。
[B15]
根据前述[B13]项所述的信息处理方法,其中
来自主机系统侧的数据和元数据分别存储在独立的记录区域中。
[C1]
一种由计算机执行的信息处理程序,该程序控制信息处理装置,其中针对每个预定数据量访问数据,该程序在写入从主机系统侧发送的数据时包括:
确定所发送的数据是否被推测为构成单个文件的连续数据的步骤;以及
当数据被推测为连续数据时,将指示来自主机系统侧的数据是连续数据的元数据与来自主机系统侧的数据一起写入的步骤。
[C2]
根据前述[C1]项所述的信息处理程序,其中
基于跟随紧接在前的写命令的预定时间量内是否发出了来自主机系统侧的写命令来确定数据是否被推测为连续数据。
[C3]
根据前述[C1]或[C2]项所述的信息处理程序,其中
确认从主机系统侧发送的数据的大小,并且基于该数据是否大于或等于预定大小来确定该数据是否被推测为连续数据。
[C4]
根据前述[C1]至[C3]中任一项所述的信息处理程序,其中
当指定从主机系统侧读取文件时,基于元数据预先读取存储在该文件中的数据。
[C5]
根据前述[C1]至[C4]中任一项所述的信息处理程序,其中
预定数据量是每页的数据量。
[C6]
根据前述[C5]项所述的信息处理程序,其中
以块为单位管理数据,每个块包括多个页面。
[C7]
根据前述[C6]项所述的信息处理程序,其中
将数据写入数据被删除的块。
[C8]
根据前述[C6]或[C7]项所述的信息处理程序,其中
元数据包括指示数据被推测为连续数据的标志,以及块的信息和页面的信息,数据被紧接在块的信息和页面的信息之前存储。
[C9]
根据前述[C8]项所述的信息处理程序,其中
针对要写入的每个页面写入来自主机系统侧的数据和元数据。
[C10]
根据前述[C8]项所述的信息处理程序,其中
来自主机系统侧的数据和元数据分别存储在独立的记录区域中。
[C11]
根据前述[C1]项所述的信息处理程序,其中
预定数据量是每个扇区的数据量。
[C12]
根据前述[C11]项所述的信息处理程序,其中
以簇为单位管理数据,每个簇包括多个扇区。
[C13]
根据前述[C11]或[C12]项所述的信息处理程序,其中
元数据包括指示数据被推测为连续数据的标志,以及扇区的信息,数据被紧接在扇区的信息之前存储。
[C14]
根据前述[C13]项所述的信息处理程序,其中
针对要写入的每个扇区写入来自主机系统侧的数据和元数据。
[C15]
根据前述[C13]项所述的信息处理程序,其中
来自主机系统侧的数据和元数据分别存储在独立的记录区域中。
[参考标记列表]
1 信息处理装置
10 控制器
11 微处理器
12 数据缓冲器
13 主机系统I/F
14 存储设备I/F
20 存储设备
Claims (17)
1.一种信息处理装置,其中,针对每个预定数据量访问数据,其中
当写入从主机系统侧发送的数据时,在推测所述数据是构成单个文件的连续数据的情况下,指示来自所述主机系统侧的所述数据是连续数据的元数据与来自所述主机系统侧的所述数据一起被写入。
2.根据权利要求1所述的信息处理装置,其中
所述数据是否被推测为连续数据是基于跟随紧接在前的写命令的预定时间量内是否发出了来自所述主机系统侧的写命令来确定的。
3.根据权利要求1所述的信息处理装置,其中
从所述主机系统侧发送的所述数据的大小被确认,并且所述数据是否被推测为连续数据是基于所述数据是否大于或等于预定大小来确定的。
4.根据权利要求1所述的信息处理装置,其中
当指定从所述主机系统侧读取文件时,存储在所述文件中的数据被基于所述元数据预先读取。
5.根据权利要求1所述的信息处理装置,其中
所述预定数据量是每页的数据量。
6.根据权利要求5所述的信息处理装置,其中
所述信息处理装置以块为单位管理数据,每个块包括多个页面。
7.根据权利要求6所述的信息处理装置,其中
所述信息处理装置将数据写入数据被删除的块。
8.根据权利要求6所述的信息处理装置,其中
所述元数据包括指示所述数据被推测为连续数据的标志以及块的信息和页面的信息,其中,数据被紧接在所述块的信息和页面的信息之前存储。
9.根据权利要求8所述的信息处理装置,其中
来自所述主机系统侧的数据和元数据被针对要写入的每个页面写入。
10.根据权利要求8所述的信息处理装置,其中
来自所述主机系统侧的所述数据和所述元数据分别存储在独立的记录区域中。
11.根据权利要求1所述的信息处理装置,其中
所述预定数据量是每个扇区的数据量。
12.根据权利要求11所述的信息处理装置,其中
所述信息处理装置以簇为单位管理数据,每个簇包括多个扇区。
13.根据权利要求11所述的信息处理装置,其中
所述元数据包括指示所述数据被推测为连续数据的标志以及扇区的信息,其中,数据被紧接在所述扇区之前存储。
14.根据权利要求13所述的信息处理装置,其中
来自所述主机系统侧的数据和元数据被针对要写入的每个扇区写入。
15.根据权利要求13所述的信息处理装置,其中
来自所述主机系统侧的所述数据和所述元数据分别存储在独立的记录区域中。
16.一种信息处理方法,包括:当将从主机系统侧发送的数据写入针对每个预定数据量访问数据的信息处理装置中时,
确定发送的数据是否被推测为构成单个文件的连续数据的步骤;以及
当所述数据被推测为连续数据时,将指示来自所述主机系统侧的所述数据是连续数据的元数据与来自所述主机系统侧的所述数据一起写入的步骤。
17.一种由计算机执行的信息处理程序,所述程序控制信息处理装置,在所述信息处理装置中,针对每个预定数据量访问数据,所述程序包括:
当写入从主机系统侧发送的数据时,
确定发送的数据是否被推测为构成单个文件的连续数据的步骤;以及
当所述数据被推测为连续数据时,将指示来自所述主机系统侧的所述数据是连续数据的元数据与来自所述主机系统侧的所述数据一起写入的步骤。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2018-236857 | 2018-12-19 | ||
JP2018236857 | 2018-12-19 | ||
PCT/JP2019/047184 WO2020129612A1 (ja) | 2018-12-19 | 2019-12-03 | 情報処理装置、情報処理方法および情報処理プログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113196258A true CN113196258A (zh) | 2021-07-30 |
Family
ID=71101724
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201980082808.XA Pending CN113196258A (zh) | 2018-12-19 | 2019-12-03 | 信息处理装置、信息处理方法和信息处理程序 |
Country Status (4)
Country | Link |
---|---|
US (1) | US20220114147A1 (zh) |
JP (1) | JP7435470B2 (zh) |
CN (1) | CN113196258A (zh) |
WO (1) | WO2020129612A1 (zh) |
Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2000311104A (ja) * | 1999-02-26 | 2000-11-07 | Sony Corp | 記録方法、管理方法、及び記録装置 |
CN1272672A (zh) * | 1999-02-26 | 2000-11-08 | 索尼公司 | 记录方法、管理方法和记录设备 |
JP2006133923A (ja) * | 2004-11-04 | 2006-05-25 | Sony Corp | データ記録再生装置、記録再生方法、プログラム並びにデータ記録媒体 |
JP2006155335A (ja) * | 2004-11-30 | 2006-06-15 | Tdk Corp | メモリコントローラ、フラッシュメモリシステム及びフラッシュメモリの制御方法 |
US20060143365A1 (en) * | 2002-06-19 | 2006-06-29 | Tokyo Electron Device Limited | Memory device, memory managing method and program |
US20070245069A1 (en) * | 2004-09-10 | 2007-10-18 | Syuichi Kikuchi | Storage Device, Memory Management Method and Program |
US20080228992A1 (en) * | 2007-03-01 | 2008-09-18 | Douglas Dumitru | System, method and apparatus for accelerating fast block devices |
JP2008299456A (ja) * | 2007-05-30 | 2008-12-11 | Sony Corp | データ記憶装置及びデータ管理方法 |
JP2009053950A (ja) * | 2007-08-27 | 2009-03-12 | Tdk Corp | メモリコントローラ、メモリコントローラを備えるフラッシュメモリシステム、並びにフラッシュメモリの制御方法 |
US20100011154A1 (en) * | 2008-07-08 | 2010-01-14 | Phison Electronics Corp. | Data accessing method for flash memory and storage system and controller using the same |
US20140164681A1 (en) * | 2012-12-07 | 2014-06-12 | Sandisk Technologies Inc. | Systems and Methods for Intelligent Flash Management |
Family Cites Families (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3328321B2 (ja) * | 1992-06-22 | 2002-09-24 | 株式会社日立製作所 | 半導体記憶装置 |
JPH06266596A (ja) * | 1993-03-11 | 1994-09-22 | Hitachi Ltd | フラッシュメモリファイル記憶装置および情報処理装置 |
US6078520A (en) * | 1993-04-08 | 2000-06-20 | Hitachi, Ltd. | Flash memory control method and information processing system therewith |
US7984084B2 (en) * | 2005-08-03 | 2011-07-19 | SanDisk Technologies, Inc. | Non-volatile memory with scheduled reclaim operations |
KR100874702B1 (ko) * | 2006-10-02 | 2008-12-18 | 삼성전자주식회사 | 플래시 메모리 파일 시스템을 효율적으로 관리하기 위한장치 드라이버 및 방법 |
TWI326028B (en) * | 2006-11-20 | 2010-06-11 | Silicon Motion Inc | Method for flash memory data management |
TWI368223B (en) * | 2007-12-07 | 2012-07-11 | Phison Electronics Corp | Flash memory data writing method and controller using the same |
US8843691B2 (en) * | 2008-06-25 | 2014-09-23 | Stec, Inc. | Prioritized erasure of data blocks in a flash storage device |
TWI409819B (zh) * | 2009-03-03 | 2013-09-21 | Silicon Motion Inc | 平均地使用一快閃記憶體的複數個區塊之方法以及相關之記憶裝置及其控制器 |
TWI405209B (zh) * | 2009-04-01 | 2013-08-11 | Phison Electronics Corp | 資料管理方法及使用此方法的快閃儲存系統與控制器 |
US8799557B1 (en) * | 2011-10-13 | 2014-08-05 | Netapp, Inc. | System and method for non-volatile random access memory emulation |
JP5983019B2 (ja) * | 2012-05-17 | 2016-08-31 | ソニー株式会社 | 制御装置、記憶装置、記憶制御方法 |
US9324450B2 (en) * | 2013-03-13 | 2016-04-26 | Winbond Electronics Corporation | NAND flash memory |
US9772777B2 (en) * | 2015-04-27 | 2017-09-26 | Southwest Research Institute | Systems and methods for improved access to flash memory devices |
KR102314135B1 (ko) * | 2015-06-22 | 2021-10-18 | 삼성전자 주식회사 | 적응적인 루프를 수행하는 플래시 메모리 장치, 메모리 시스템 및 그 동작방법 |
CN107846327A (zh) | 2017-11-13 | 2018-03-27 | 浪潮天元通信信息系统有限公司 | 一种网管性能数据的处理方法及装置 |
US11029856B2 (en) * | 2018-03-02 | 2021-06-08 | Qualcomm Incorporated | Flash memory device with data fragment function |
-
2019
- 2019-12-03 CN CN201980082808.XA patent/CN113196258A/zh active Pending
- 2019-12-03 US US17/309,636 patent/US20220114147A1/en not_active Abandoned
- 2019-12-03 WO PCT/JP2019/047184 patent/WO2020129612A1/ja active Application Filing
- 2019-12-03 JP JP2020561268A patent/JP7435470B2/ja active Active
Patent Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2000311104A (ja) * | 1999-02-26 | 2000-11-07 | Sony Corp | 記録方法、管理方法、及び記録装置 |
CN1272672A (zh) * | 1999-02-26 | 2000-11-08 | 索尼公司 | 记录方法、管理方法和记录设备 |
US20060143365A1 (en) * | 2002-06-19 | 2006-06-29 | Tokyo Electron Device Limited | Memory device, memory managing method and program |
US20070245069A1 (en) * | 2004-09-10 | 2007-10-18 | Syuichi Kikuchi | Storage Device, Memory Management Method and Program |
JP2006133923A (ja) * | 2004-11-04 | 2006-05-25 | Sony Corp | データ記録再生装置、記録再生方法、プログラム並びにデータ記録媒体 |
JP2006155335A (ja) * | 2004-11-30 | 2006-06-15 | Tdk Corp | メモリコントローラ、フラッシュメモリシステム及びフラッシュメモリの制御方法 |
US20080228992A1 (en) * | 2007-03-01 | 2008-09-18 | Douglas Dumitru | System, method and apparatus for accelerating fast block devices |
JP2008299456A (ja) * | 2007-05-30 | 2008-12-11 | Sony Corp | データ記憶装置及びデータ管理方法 |
JP2009053950A (ja) * | 2007-08-27 | 2009-03-12 | Tdk Corp | メモリコントローラ、メモリコントローラを備えるフラッシュメモリシステム、並びにフラッシュメモリの制御方法 |
US20100011154A1 (en) * | 2008-07-08 | 2010-01-14 | Phison Electronics Corp. | Data accessing method for flash memory and storage system and controller using the same |
US20140164681A1 (en) * | 2012-12-07 | 2014-06-12 | Sandisk Technologies Inc. | Systems and Methods for Intelligent Flash Management |
Also Published As
Publication number | Publication date |
---|---|
JPWO2020129612A1 (ja) | 2021-12-02 |
US20220114147A1 (en) | 2022-04-14 |
WO2020129612A1 (ja) | 2020-06-25 |
JP7435470B2 (ja) | 2024-02-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10007468B2 (en) | Method and apparatus for erasing data in data section in flash memory | |
US8055873B2 (en) | Data writing method for flash memory, and controller and system using the same | |
US7610434B2 (en) | File recording apparatus | |
KR101813786B1 (ko) | Ssd 상의 기록-시-복사를 위한 시스템 및 방법 | |
US8650379B2 (en) | Data processing method for nonvolatile memory system | |
US8402202B2 (en) | Input/output control method and apparatus optimized for flash memory | |
US9582416B2 (en) | Data erasing method, memory control circuit unit and memory storage apparatus | |
US20090157756A1 (en) | File System For Storing Files In Multiple Different Data Storage Media | |
US7647470B2 (en) | Memory device and controlling method for elongating the life of nonvolatile memory | |
TWI423026B (zh) | 資料寫入方法、記憶體控制器與記憶體儲存裝置 | |
CN109902034B (zh) | 快照创建方法、装置、电子设备及机器可读存储介质 | |
TWI479505B (zh) | 資料管理方法、記憶體控制器與記憶體儲存裝置 | |
CN109697170B (zh) | 存取闪存模块的方法及相关的闪存控制器与电子装置 | |
US20110320689A1 (en) | Data Storage Devices and Data Management Methods for Processing Mapping Tables | |
JPWO2009096180A1 (ja) | メモリコントローラ、不揮発性記憶装置、及び、不揮発性記憶システム | |
KR101055324B1 (ko) | 강화된 호스트 인터페이스 | |
US10942811B2 (en) | Data processing method for solid state drive | |
US11176033B2 (en) | Data storage devices and data processing methods | |
US20130173855A1 (en) | Method of operating storage device including volatile memory and nonvolatile memory | |
CN103389941B (zh) | 存储器格式化方法、存储器控制器及存储器存储装置 | |
CN110865945B (zh) | 存储设备的扩展地址空间 | |
US20210303212A1 (en) | Data processing method and memory controller utilizing the same | |
US11436105B2 (en) | Data processing method and memory controller utilizing the same | |
CN113196258A (zh) | 信息处理装置、信息处理方法和信息处理程序 | |
US11188511B2 (en) | Offloading file-indexing to memory card firmware |
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 |