CN117632809B - 存储器控制器、数据读取方法及存储装置 - Google Patents

存储器控制器、数据读取方法及存储装置 Download PDF

Info

Publication number
CN117632809B
CN117632809B CN202410101913.6A CN202410101913A CN117632809B CN 117632809 B CN117632809 B CN 117632809B CN 202410101913 A CN202410101913 A CN 202410101913A CN 117632809 B CN117632809 B CN 117632809B
Authority
CN
China
Prior art keywords
file
mapping table
memory
target
address
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
CN202410101913.6A
Other languages
English (en)
Other versions
CN117632809A (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.)
Hefei Core Storage Electronic Ltd
Original Assignee
Hefei Core Storage Electronic 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 Hefei Core Storage Electronic Ltd filed Critical Hefei Core Storage Electronic Ltd
Priority to CN202410101913.6A priority Critical patent/CN117632809B/zh
Publication of CN117632809A publication Critical patent/CN117632809A/zh
Application granted granted Critical
Publication of CN117632809B publication Critical patent/CN117632809B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1668Details of memory controller
    • G06F13/1673Details of memory controller using buffers
    • 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/0629Configuration or reconfiguration 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/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0656Data buffering arrangements

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)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

一种存储器控制器、数据读取方法及存储装置。数据读取方法:根据所述多个文件读取指令识别分别对应所述多个文件的多个逻辑地址;根据所述多个逻辑地址来决定分别对应所述多个文件的多个映射表;载入对应第一文件的第一映射表至缓冲存储器的第一存储器区段;识别所述多个文件中的第一文件之外的对应第一映射表的一或多个第二文件的一或多个第二逻辑地址;根据一或多个第二逻辑地址来决定第一映射表的目标内容,并且复制目标内容于缓冲存储器的第二存储器区段;以及从目标内容中,查找对应一或多个第二文件中的第四文件的第四逻辑地址的第四实体地址,以从第四实体地址读取第四文件的第四数据,从而回应对应第四文件的第四文件读取指令。

Description

存储器控制器、数据读取方法及存储装置
技术领域
本发明涉及一种存储器管理技术,尤其是涉及一种针对非易失性存储器的数据读取方法、及使用所述方法的存储装置及存储器控制器。
背景技术
非易失性存储器(non-volatile memory)是指当电流断掉后,所存储的数据不会消失的电脑存储器,具有数据非易失性、省电、体积小与无机械结构等优点,被广泛地应用于各种电子装置中。
目前,闪存类型的非易失性存储器通常使用逻辑地址(LBA)寻址方式。在读取某个LBA的数据时,存储设备会先载入该LBA所在的映射表,然后找到在映射表上该LBA对应的实体地址(PBA),再根据该PBA读取数据。由于非易失性存储器的容量增大,导致LBA的总数量增加,进而需要使用多个映射表来记录所有的LBA。在读取大量文件时,由于这些文件存储在不连续且随机的LBA中,当这些LBA所在的映射表不是同一张时,会导致需要载入多个映射表,这增加了读取的时间,最终导致读取速度下降。
在用户需要读取大量文件目录及其下的文件和目录项时,可能会导致在同一张映射表上的文件或目录项,在文件系统中的顺序不一定是相邻或连续的。在读取某个LBA的数据时,存储设备通常会先加载该LBA所在的映射表,然后找到在映射表上该LBA对应的PBA,再根据该PBA去读取数据。因此,当读取一个LBA时,如果该LBA所在的映射表之前没有被加载到存储设备的RAM上,存储设备就需要额外进行一次加载映射表的操作,从而降低了读取数据的速度。这一过程可能会对数据读取速度产生不利的影响。
发明内容
本发明的目的在于解决上述问题,提高非易失性存储器在大量读取操作时的效率。为此,我们提供一种优化读取操作的方法,使存储装置能够更有效地保留/复制将用到的映射表内容以避免被其他被载入的映射表覆盖,减少重复载入映射表的次数,从而提高读取速度。
本发明的实施例提供用于控制配置有可复写式非易失性存储器模块的存储装置的一种存储控制器。所述存储控制器包括:存储器接口控制电路、缓冲存储器以及处理器。存储器接口控制电路,用以耦接至所述可复写式非易失性存储器模块,其中所述可复写式非易失性存储器模块包括多个存储器晶粒,其中每一所述存储器晶粒具有多个实体块,每一所述实体块具有多个实体页,所述多个实体页分别对应至多个实体地址。处理器,耦接至所述存储器接口控制电路及所述缓冲存储器,其中所述处理器更耦接至所述存储装置的连接接口电路,以耦接至主机系统。其中,所述处理器用以从所述主机系统获得对应目录的多个文件的多个文件读取指令,其中所述处理器更用以根据所述多个文件读取指令识别分别对应所述多个文件的多个逻辑地址,其中所述处理器更用以根据所述多个逻辑地址来决定分别对应所述多个文件的多个映射表。此外,所述处理器更用以从所述可复写式非易失性存储器模块载入对应所述多个文件中的第一文件的第一映射表至所述缓冲存储器的第一存储器区段,并且从所述第一映射表中,查找对应所述第一文件的第一逻辑地址的第一实体地址,以从所述第一实体地址读取所述第一文件的第一数据,从而回应对应所述第一文件的第一文件读取指令。所述处理器更用以识别所述多个文件中所述第一文件之外的对应所述第一映射表的一或多个第二文件的一或多个第二逻辑地址,其中所述处理器更用以根据所述一或多个第二逻辑地址来决定所述第一映射表的目标内容,并且复制所述目标内容于所述缓冲存储器的第二存储器区段。在复制所述目标内容于所述缓冲存储器的所述第二存储器区段后,所述处理器更用以从所述可复写式非易失性存储器模块载入对应所述多个文件中的第三文件的第二映射表至所述缓冲存储器的所述第一存储器区段,并且从所述第二映射表中,查找对应所述第三文件的第三逻辑地址的第三实体地址,以从所述第三实体地址读取所述第三文件的第三数据,从而回应对应所述第三文件的第三文件读取指令,其中所述第二映射表不同于所述第一映射表,并且所述第二映射表覆写所述缓冲存储器中的所述第一映射表。其中,所述处理器更用以从所述目标内容中,查找对应所述一或多个第二文件中的第四文件的第四逻辑地址的第四实体地址,以从所述第四实体地址读取所述第四文件的第四数据,从而回应对应所述第四文件的第四文件读取指令。
在本发明的一实施例中,在根据所述一或多个第二逻辑地址来决定所述第一映射表的所述目标内容的运作中,所述处理器根据所述一或多个第二逻辑地址的先后顺序,识别最小的第二逻辑地址及最大的第二逻辑地址,其中所述处理器将所述第一映射表中对应所述最小的第二逻辑地址及所述最大的第二逻辑地址之间的多个逻辑地址的内容作为所述目标内容。
在本发明的一实施例中,在根据所述一或多个第二逻辑地址来决定所述第一映射表的所述目标内容的运作中,所述处理器根据所述一或多个第二逻辑地址,将所述第一映射表中对应所述一或多个第二逻辑地址的内容作为所述目标内容。
在本发明的一实施例中,在根据所述多个逻辑地址来决定分别对应所述多个文件的所述多个映射表的运作中,所述处理器根据每个映射表的预定逻辑地址数量以及所述多个文件中的目标文件的目标逻辑地址来计算所述目标文件所对应的目标映射表的序号,其中所述处理器根据所述目标映射表的所述序号,决定对应所述目标文件的所述目标映射表。
在本发明的一实施例中,在计算所述目标文件所对应的所述目标映射表的所述序号的运作中,所述处理器将所述目标逻辑地址除以所述预定逻辑地址数量,以获得商,其中所述处理器将所获得的所述商作为所述目标文件所对应的所述目标映射表的所述序号。
本发明的另一实施例提供用于存储控制器以读取可复写式非易失性存储器模块的一种数据读取方法。所述可复写式非易失性存储器模块包括多个存储器晶粒,其中每一所述存储器晶粒具有多个实体块,每一所述实体块具有多个实体页,所述多个实体页分别对应至多个实体地址。所述方法包括:从主机系统获得对应目录的多个文件的多个文件读取指令;根据所述多个文件读取指令识别分别对应所述多个文件的多个逻辑地址;根据所述多个逻辑地址来决定分别对应所述多个文件的多个映射表;从所述可复写式非易失性存储器模块载入对应所述多个文件中的第一文件的第一映射表至所述存储控制器的缓冲存储器的第一存储器区段,并且从所述第一映射表中,查找对应所述第一文件的第一逻辑地址的第一实体地址,以从所述第一实体地址读取所述第一文件的第一数据,从而回应对应所述第一文件的第一文件读取指令;识别所述多个文件中所述第一文件之外的对应所述第一映射表的一或多个第二文件的一或多个第二逻辑地址;根据所述一或多个第二逻辑地址来决定所述第一映射表的目标内容,并且复制所述目标内容于所述缓冲存储器的第二存储器区段;在复制所述目标内容于所述缓冲存储器的所述第二存储器区段后,从所述可复写式非易失性存储器模块载入对应所述多个文件中的第三文件的第二映射表至所述缓冲存储器的所述第一存储器区段,并且从所述第二映射表中,查找对应所述第三文件的第三逻辑地址的第三实体地址,以从所述第三实体地址读取所述第三文件的第三数据,从而回应对应所述第三文件的第三文件读取指令,其中所述第二映射表不同于所述第一映射表,并且所述第二映射表覆写所述缓冲存储器中的所述第一映射表;以及从所述目标内容中,查找对应所述一或多个第二文件中的第四文件的第四逻辑地址的第四实体地址,以从所述第四实体地址读取所述第四文件的第四数据,从而回应对应所述第四文件的第四文件读取指令。
本发明的另一实施例提供一种存储装置,包括连接接口电路、可复写式非易失性存储器模块以及存储控制器。连接接口电路用以耦接至主机系统。所述可复写式非易失性存储器模块包括多个存储器晶粒,其中每一所述存储器晶粒具有多个实体块,每一所述实体块具有多个实体页,所述多个实体页分别对应至多个实体地址。存储控制器耦接至所述连接接口电路以及所述可复写式非易失性存储器模块。其中,所述存储控制器用以从所述主机系统获得对应目录的多个文件的多个文件读取指令,其中所述存储控制器更用以根据所述多个文件读取指令识别分别对应所述多个文件的多个逻辑地址,其中所述存储控制器更用以根据所述多个逻辑地址来决定分别对应所述多个文件的多个映射表,其中所述存储控制器更用以从所述可复写式非易失性存储器模块载入对应所述多个文件中的第一文件的第一映射表至所述存储控制器的缓冲存储器的第一存储器区段,并且从所述第一映射表中,查找对应所述第一文件的第一逻辑地址的第一实体地址,以从所述第一实体地址读取所述第一文件的第一数据,从而回应对应所述第一文件的第一文件读取指令。此外,所述存储控制器更用以识别所述多个文件中所述第一文件之外的对应所述第一映射表的一或多个第二文件的一或多个第二逻辑地址,其中所述存储控制器更用以根据所述一或多个第二逻辑地址来决定所述第一映射表的目标内容,并且复制所述目标内容于所述缓冲存储器的第二存储器区段,其中所述存储控制器更用以在复制所述目标内容于所述缓冲存储器的所述第二存储器区段后,从所述可复写式非易失性存储器模块载入对应所述多个文件中的第三文件的第二映射表至所述缓冲存储器的所述第一存储器区段,并且从所述第二映射表中,查找对应所述第三文件的第三逻辑地址的第三实体地址,以从所述第三实体地址读取所述第三文件的第三数据,从而回应对应所述第三文件的第三文件读取指令,其中所述第二映射表不同于所述第一映射表,并且所述第二映射表覆写所述缓冲存储器中的所述第一映射表,其中所述存储控制器更用以从所述目标内容中,查找对应所述一或多个第二文件中的第四文件的第四逻辑地址的第四实体地址,以从所述第四实体地址读取所述第四文件的第四数据,从而回应对应所述第四文件的第四文件读取指令。
基于上述,本发明实施例所提供的存储装置、存储控制器以及所述存储控制器所使用的数据读取方法,可通过复制当前映射表的对应指定目录的后续文件的目标内容,有效地避免了目标内容在后续的载入其他映射表操作中被覆盖的问题。这样,后续指定目录中其他文件的实体地址可以通过目标内容来查询,从而避免了重复加载映射表的困扰。这一创新减少了映射表的重复读取次数,显着提高了存储装置和存储控制器的数据读取效率,迅速提升了对指定目录中所有文件的数据读取速度。通过采用这一技术手段,存储系统能够更为高效地处理大量文件目录及其下的文件和目录项的读取操作。该方法不仅节省了存储设备加载映射表的时间,也减轻了系统的读取负担,为用户提供更为快速、流畅的数据读取体验。这一技术创新在大规模数据读取操作中表现出色,为存储领域的技术发展带来了新的进展。
附图说明
包含附图以便进一步理解本发明,且附图并入本说明书中并构成本说明书的一部分。附图说明本发明的实施例,并与描述一起用于解释本发明的原理。
图1为根据本发明的实施例所示出的主机系统与存储装置的方块示意图;
图2为根据本发明的实施例所示出的数据读取方法的流程图;
图3为传统的查找/读取映射表的示意图;
图4A为根据本发明的实施例所示出的经由复制目标内容来减少重复载入映射表的示意图;
图4B为根据本发明的实施例所示出的映射表内的目标内容的示意图;
图5为根据本发明的实施例所示出的数据读取方法的流程示意图。
附图标号说明
10:主机系统
20:存储装置
110、211:处理器
120:主机存储器
130:数据传输接口电路
210:存储控制器
212:数据管理电路
213:存储器接口控制电路
214:缓冲存储器
220:可复写式非易失性存储器模块
230:连接接口电路
S210、S220、S230、S240、S250、S260、S270、S280:数据读取方法的流程步骤
T31、T41、T42:表
TC:目标内容
具体实施方式
现将详细地参考本发明的示范性实施例,示范性实施例的实例说明于附图中。只要有可能,相同组件符号在附图和描述中用来表示相同或相似部分。
图1为根据本发明的实施例所示出的主机系统与存储装置的方块示意图。请参照图1,主机系统10例如是个人电脑、笔记型电脑、服务器。主机系统(Host System)10包括处理器(Processor)110及主机存储器(Host Memory)120、数据传输接口电路(Data TransferInterface Circuit)130。在本实施例中,处理器110耦接(也称,电性连接)至主机存储器120及数据传输接口电路130。在另一实施例中,处理器(Processor)110、主机存储器120及数据传输接口电路130之间利用系统总线(System Bus)彼此耦接。在本实施例中,处理器110、主机存储器120及数据传输接口电路130可设置在主机系统10的主机板上。
存储装置20包括存储控制器(Storage Controller)210、可复写式非易失性存储器模块(Rewritable Non-Volatile Memory Module)220及连接接口电路(ConnectionInterface Circuit)230。其中,存储控制器210包括处理器211、数据管理电路(DataManagement Circuit)212与存储器接口控制电路(Memory Interface Control Circuit)213。
在本实施例中,主机系统10是通过数据传输接口电路130与存储装置20的连接接口电路230耦接至存储装置20来进行数据的存取操作。例如,主机系统10可经由数据传输接口电路130将数据存储至存储装置20或从存储装置20中读取数据。
在本实施例中,数据传输接口电路130的数目可以是一或多个。通过数据传输接口电路130,主机板可以经由有线或无线方式耦接至存储装置20。存储装置20可例如是U盘、存储卡、固态硬盘(Solid State Drive,SSD)或无线存储器存储装置。无线存储器存储装置可例如是近距离无线通讯(Near Field Communication,NFC)存储器存储装置、无线传真(WiFi)存储器存储装置、蓝牙(Bluetooth)存储器存储装置或低功耗蓝牙存储器存储装置(例如,iBeacon)等以各式无线通讯技术为基础的存储器存储装置。此外,主机板也可以通过系统总线耦接至全球定位系统(Global Positioning System,GPS)模块、网络接口卡、无线传输装置、键盘、屏幕、喇叭等各式I/O装置。
在本实施例中,数据传输接口电路130与连接接口电路230是相容于高速周边零件连接接口(Peripheral Component Interconnect Express, PCI Express)标准的接口电路。并且,数据传输接口电路130与连接接口电路230之间是利用快速非易失性存储器接口标准(Non-Volatile Memory express,NVMe)通讯协定来进行数据的传输。
此外,在另一实施例中,连接接口电路230可与存储控制器210封装在一个芯片中,或者连接接口电路230是布设于一包含存储控制器210的芯片外。
在本实施例中,主机存储器120用以暂存处理器110所执行的指令或数据。例如,在本实施例中,主机存储器120可以是动态随机存取存储器(Dynamic Random AccessMemory,DRAM)、静态随机存取存储器(Static Random Access Memory,SRAM)等。然而,必须了解的是,本发明不限于此,主机存储器120也可以是其他适合的存储器。
存储控制器210用以执行以硬件型式或固件型式实作的多个逻辑门或控制指令并且根据主机系统10的指令在可复写式非易失性存储器模块220中进行数据的写入、读取与抹除等运作。
更详细来说,存储控制器210中的处理器211为具备运算能力的硬件,其用以控制存储控制器210的整体运作。具体来说,处理器211被多个控制指令/程序码所程序化,并且在存储装置20运作时,此些控制指令/程序码会被执行以进行数据的写入、读取与抹除等运作。此外,在本实施例中,所述控制指令/程序码更可被执行以进行数据读取操作,以实现本发明所提供的数据读取方法。对应所述数据读取方法的控制指令/程序码更可被实作为硬件形式的电路单元,以实现本发明所提供的数据读取方法。
值得一提的是,在本实施例中,处理器110与处理器211例如是中央处理单元(Central Processing Unit,CPU)、微处理器(micro-processor)、或是其他可程序化的处理单元(Microprocessor)、数字信号处理器(Digital Signal Processor,DSP)、可程序化控制器、特殊应用集成电路(Application Specific Integrated Circuits,ASIC)、可程序化逻辑装置(Programmable Logic Device,PLD)或其他类似电路组件,本发明并不限于此。
在本实施例中,如上所述,存储控制器210还包括数据管理电路212与存储器接口控制电路213。应注意的是,存储控制器210各部件所执行的操作亦可视为存储控制器210所执行的操作。
其中,数据管理电路212耦接至处理器211、存储器接口控制电路213与连接接口电路230。数据管理电路212用以接受处理器211的指示来进行数据的传输。例如,经由连接接口电路230从主机系统10(如,主机存储器120)读取数据,并且将所读取的数据经由存储器接口控制电路213写入至可复写式非易失性存储器模块220中(如,根据来自主机系统10的写入指令来进行写入操作)。又例如,经由存储器接口控制电路213从可复写式非易失性存储器模块220的一或多个实体单元中读取数据(数据可读取自一或多个实体单元中的一或多个存储单元),并且将所读取的数据经由连接接口电路230写入至主机系统10(如,主机存储器120)中(如,根据来自主机系统10的读取指令来进行读取操作)。在另一实施例中,数据管理电路212亦可整合至处理器211中。
存储器接口控制电路213用以接受处理器211的指示,配合数据管理电路212来进行对于可复写式非易失性存储器模块220的写入(亦称,程序化,Programming)操作、读取操作或抹除操作。
此外,欲写入至可复写式非易失性存储器模块220的数据会经由存储器接口控制电路213转换为可复写式非易失性存储器模块220所能接受的格式。具体来说,若处理器211要存取可复写式非易失性存储器模块220,处理器211会传送对应的指令序列给存储器接口控制电路213以指示存储器接口控制电路213执行对应的操作。例如,这些指令序列可包括指示写入数据的写入指令序列、指示读取数据的读取指令序列、指示抹除数据的抹除指令序列、以及用以指示各种存储器操作的相对应的指令序列。这些指令序列可包括一或多个信号,或是在总线上的数据。这些信号或数据可包括指令码或程序码。例如,在读取指令序列中,会包括读取的识别码、存储器地址、实体地址等信息。
此外,存储控制器210会建立逻辑转实体地址映像表(Logical To Physicaladdress mapping table)与实体转逻辑地址映像表(Physical To Logical addressmapping table),以记录配置给可复写式非易失性存储器模块220的逻辑单元(如,逻辑块、逻辑页或逻辑列)与实体单元(如,实体抹除单元/实体块、实体页、实体列)之间的地址映像关系。换言之,存储控制器210可通过逻辑转实体地址映像表(亦称为映像表)来查找一逻辑单元所映射的实体单元(如,查找逻辑页所映射的实体页;查找逻辑地址所映像的实体地址),并且存储控制器210可通过实体转逻辑地址映像表来查找一实体单元所映射的逻辑单元(如,查找实体页所映射的逻辑页;查找实体地址所映像的逻辑地址)。然而,上述有关逻辑地址与实体地址之间的映射的技术概念为本领域技术人员的惯用技术手段且非本发明所欲阐述的技术方案,不再赘述于此。
在一实施例中,存储控制器210还包括缓冲存储器214。缓冲存储器214是耦接至处理器211并且用以暂存来自于主机系统10的数据与指令、来自于可复写式非易失性存储器模块220的数据或其他用以管理存储装置20的系统数据(如,欲保留的映射表中的目标内容),以让处理器211可快速地从缓冲存储器214中存取所述数据、指令或系统数据。
可复写式非易失性存储器模块220是耦接至存储控制器210(存储器接口控制电路213)并且用以存储主机系统10所写入的数据。
在本实施例中,可复写式非易失性存储器模块220具有多个字线,其中所述多个字线的每一个字线耦接至多个存储单元,亦称列(也称,实体列)。同一条字线上的多个列会组成一个实体程序化单元(也称,实体页)。每个实体页会对应至一个实体地址,用以记录实体页所存储的数据的位置。此外,多个实体页可组成一个实体块(也称,实体抹除单元)。所述可复写式非易失性存储器模块的多个存储器晶粒中的每个存储器晶粒具有多个实体块。应注意的是,本发明并不限定于每一个实体页及逻辑页的大小。
图2为根据本发明的实施例所示出的数据读取方法的流程图。图5为根据本发明的实施例所示出的数据读取方法的流程示意图。请同时参照图2及图5,在步骤S210中,存储控制器210(处理器211)从主机系统10获得对应目录的多个文件的多个文件读取指令。在一实施例中,主机系统10通过下发对应指定目录的目录读取指令给存储控制器210,以让存储控制器210解析所述目录读取指令,而获得对应所述指定目录中的多个文件的所述多个文件读取指令。在另一实施例中,所述多个文件读取指令也可对应至不同目录中的多个文件。
在步骤S220中,存储控制器210根据所述多个文件读取指令识别分别对应所述多个文件的多个逻辑地址。在一实施例中,每个文件读取指令例如包括文件识别码、对应文件的逻辑地址以及数据大小。
在步骤S230中,存储控制器210根据所述多个逻辑地址来决定分别对应所述多个文件的多个映射表。具体来说,在一实施例中,所述存储控制器210根据每个映射表的预定逻辑地址数量以及所述多个文件中的目标文件的目标逻辑地址来计算所述目标文件所对应的目标映射表的序号。接着,所述处理器根据所述目标映射表的所述序号,决定对应所述目标文件的所述目标映射表。更详细来说,所述存储控制器210将所述目标逻辑地址除以所述预定逻辑地址数量,以获得商。接着,存储控制器210将所获得的所述商作为所述目标文件所对应的所述目标映射表的所述序号。
举例来说,请参照图3及图4A,假设每个映射表可存储4096个逻辑地址(LBA),并且假设存储控制器210根据所述多个文件读取指令,可识别出对应的文件A~L(File A ~ FileL)以及每个文件的逻辑地址(如,表T31、T41所示)。
在此例子下,存储控制器210可根据每个文件的逻辑地址来简单决定出记录所述逻辑地址的映射表及其序号。例如,如表T31所示,根据文件A的逻辑地址“LBA 2840”,2840除以4096所获得的商为0,则存储控制器210可决定出逻逻辑地址“2840”所映射的实体地址是被记录在序号为“0”的映射表(逻辑转实体映射表)内。又例如,文件B的逻辑地址“LBA7624”对应至映射表“1”。此映射表的序号“1”为逻辑地址7624除以4096所获得的商值“1”,即,逻辑地址“7624”所映射的实体地址是被记录在序号为“1”的映射表(逻辑转实体映射表)内。
在决定所述多个映射表后,在步骤S240中,存储控制器210从所述可复写式非易失性存储器模块220载入对应所述多个文件中的第一文件的第一映射表至所述存储控制器210的缓冲存储器214的第一存储器区段,并且从所述第一映射表中,查找对应所述第一文件的第一逻辑地址的第一实体地址,以从所述第一实体地址读取所述第一文件的第一数据,从而回应对应所述第一文件的第一文件读取指令。
在步骤S250中,存储控制器210识别所述多个文件中所述第一文件之外的对应所述第一映射表的一或多个第二文件的一或多个第二逻辑地址。也就是说,存储控制器210会判断在所述第一文件之外的其他文件所对应的逻辑地址是否也会利用到当前所载入的第一映射表,以判断是否要决定映射表内相应的目标内容。若是,存储控制器210会识别指定目录中也是对应当前已载入的第一映射表的其他文件(如,一或多个第二文件),并且会接着根据所述一或多个第二文件的逻辑地址来决定第一映射表内的目标内容。第二文件意指一个文件所对应的映射表为当前所载入的映射表,即,若一个文件的逻辑地址(第二逻辑地址)可经由第一映射表来查询,则此文件可被识别为第二文件。相反地,在另一实施例中,若判定在所述第一文件之外的其他文件不会利用到当前所载入的第一映射表,存储控制器210判定所述一或多个第二文件并不存在,并且也不需要决定相应的目标内容。
接着,在步骤S260中,存储控制器210根据所述一或多个第二逻辑地址来决定所述第一映射表的目标内容,并且复制所述目标内容于所述缓冲存储器214的第二存储器区段。
更详细来说,在一实施例中,在根据所述一或多个第二逻辑地址来决定所述第一映射表的所述目标内容的运作中,所述存储控制器210根据所述一或多个第二逻辑地址的先后顺序(如,LBA值的大小),识别最小的第二逻辑地址及最大的第二逻辑地址,其中所述存储控制器210将所述第一映射表中对应所述最小的第二逻辑地址及所述最大的第二逻辑地址之间的多个逻辑地址的内容作为所述目标内容。换句话说,存储控制器210不会复制/保留第一映射表的全部内容,仅会复制后续所读取的第二文件(的第二逻辑地址)会用到部分的映射内容/区段。例如,假设第一映射表共记录了逻辑地址“LBA 0”至逻辑地址“LBA1023”以及映射至逻辑地址“LBA 0”至逻辑地址“LBA 1023”的1024个实体地址的映射内容。又假设,所述一或多个第二逻辑地址中,最小的第二逻辑地址为“LBA 500”,最大的第二逻辑地址为“LBA 800”,则存储控制器210可复制/保留逻辑地址“LBA500”至逻辑地址“LBA800”以及映射至逻辑地址“LBA500”至逻辑地址“LBA800”的多个实体地址的目标内容至缓冲存储器214的第二存储器区段。如此一来,可通过所复制/保留的目标内容来查找对应至所有第二文件的第二逻辑地址所映射的实体地址,而不需要再经由重复载入/读取第一映射表来查找对应至所有第二文件的第二逻辑地址所映射的实体地址。
然而,在另一实施例中,所述存储控制器210根据所述一或多个第二逻辑地址,将所述第一映射表中对应所述一或多个第二逻辑地址的内容作为所述目标内容。也就是说,存储控制器210更可直接复制后续的第二文件的第二逻辑地址的相应的第一映射表的内容至缓冲存储器214的第二存储器区段。用不到的映射内容不会被复制/保留。例如,假设第一映射表共记录了逻辑地址“LBA 0”至逻辑地址“LBA 1023”以及映射至逻辑地址“LBA 0”至逻辑地址“LBA 1023”的1024个实体地址的映射内容。又假设,对应至第一映射表的第二文件共有三个,并且对应的第二逻辑地址为“LBA 500”、“LBA 700”及“LBA 800”,则存储控制器210可直接复制/保留逻辑地址LBA 500”、“LBA 700”及“LBA 800”以及映射至逻辑地址“LBA 500”、“LBA 700”及“LBA 800”的三个实体地址的目标内容至缓冲存储器214的第二存储器区段。而不需去复制第一映射表中对应逻辑地址“LBA 500”至“LBA 800”的映射内容。如此一来,更可节省缓冲存储器214的第二存储器区段的空间。
在步骤S270中,存储控制器210在复制所述目标内容于所述缓冲存储器214的所述第二存储器区段后,从所述可复写式非易失性存储器模块220载入对应所述多个文件中的第三文件的第二映射表至所述缓冲存储器214的所述第一存储器区段,并且从所述第二映射表中,查找对应所述第三文件的第三逻辑地址的第三实体地址,以从所述第三实体地址读取所述第三文件的第三数据,从而回应对应所述第三文件的第三文件读取指令。所述第二映射表不同于所述第一映射表,并且所述第二映射表覆写所述缓冲存储器214中的所述第一映射表。也就是说,存储控制器210为了处理对应第三文件的第三文件读取指令,判定第三文件的第三逻辑地址所对应的第二映射表不同于当前载入至第一存储器区段的映射表,存储控制器210会从从所述可复写式非易失性存储器模块220载入第二映射表至缓冲存储器214的第一存储器区段。
类似于上述判断是否要决定目标内容的步骤,在一实施例中,存储控制器210也会判断在所述第三文件之外的其他文件所对应的逻辑地址是否也会利用到当前所载入的第二映射表。若是,存储控制器210会识别也是对应当前已载入的第一映射表的其他文件(如,一或多个第五文件),并且会接着根据所述一或多个第五文件的逻辑地址来决定第二映射表内的另一目标内容。在此,第五文件意指一个文件所对应的映射表为当前所载入的第二映射表。相反地,在另一实施例中,若判定在所述第三文件之外的其他文件不会利用到当前所载入的第二映射表,存储控制器210判定所述一或多个第五文件并不存在,并且也不需要决定相应的另一目标内容。
简单来说,每当从所述可复写式非易失性存储器模块220载入新的映射表至所述缓冲存储器214的所述第一存储器区段时,存储控制器210会判断后续要处理的多个文件读取指令中,是否有对应此映射表的文件/逻辑地址,以判断是否要决定相应的目标内容,从而在处理后续多个文件读取指令的过程中去避免重复地载入/读取此映射表。
在步骤S280中,存储控制器210从所述目标内容中,查找对应所述一或多个第二文件中的第四文件的第四逻辑地址的第四实体地址,以从所述第四实体地址读取所述第四文件的第四数据,从而回应对应所述第四文件的第四文件读取指令。也就是说,存储控制器210为了处理对应第四文件(其为对应至第一映射表的第二文件的其中之一)的第四文件读取指令,由于判定第四文件的第四逻辑地址所对应的第一映射表的目标内容已经存在缓冲存储器214的第二存储器区段,存储控制器210会直接从缓冲存储器214的第二存储器区段所存储的目标内容来查找映射至第四逻辑地址的第四实体地址,而不需要再次/重复地从从所述可复写式非易失性存储器模块220载入第一映射表至缓冲存储器214的第一存储器区段。依此类推,对应所有的第二文件/第四文件的文件读取指令都可利用步骤S280来通过预先复制/保留至缓冲存储器214的第二存储器区段的目标内容来获得相应的实体地址,从而利用所获得的实体地址来读取数据,进而回应所有的第二文件/第四文件的文件读取指令,避免了重复载入/读取映射表的问题。
以下利用图3、图4A、图4B来说明本发明所提供的数据读取方法与传统方法相比的进步所在。请参照图3,假设每个映射表可记录4096个逻辑地址(LBA),指定目录具有文件A~文件L,并且对应的逻辑地址如表T31所示。
在此例子中,存储控制器210从主机系统10获得对应指定目录中的多个文件的多个文件读取指令。通过传统的数据读取方法,首先,存储控制器210根据对应文件A的文件读取指令,经由文件A的逻辑地址“LBA 2840”决定出对应的映射表“0”。存储控制器210会从可复写式非易失性存储器模块220载入/读取映射表“0”至缓冲存储器214的第一存储器区段,并且从所载入的映射表“0”来查找对应逻辑地址“LBA 2840”的实体地址,以获得文件A的实体地址,从而从文件A的实体地址来读取文件A的数据。
接着,存储控制器210根据对应文件B的文件读取指令,经由文件B的逻辑地址“LBA7624”决定出对应的映射表“1”。由于当前在缓冲存储器214的映射表“0”并非映射表“1”,存储控制器210会从可复写式非易失性存储器模块220载入/读取映射表“1”至缓冲存储器214的第一存储器区段,原本的映射表“0”会被覆写,并且从所载入的映射表“1”来查找对应逻辑地址“LBA 7624”的实体地址,以获得文件B的实体地址,从而从文件B的实体地址来读取文件B的数据。
接着,存储控制器210根据对应文件C的文件读取指令,经由文件C的逻辑地址“LBA368”决定出对应的映射表“0”。由于当前在缓冲存储器214的映射表“1”并非映射表“0”,存储控制器210会从可复写式非易失性存储器模块220载入/读取映射表“0”至缓冲存储器214,原本的映射表“1”会被覆写。在此,可注意到,映射表“0”正被重复载入/读取。存储控制器210从所载入的映射表“0”来查找对应逻辑地址“LBA 368”的实体地址,以获得文件C的实体地址,从而从文件C的实体地址来读取文件C的数据。
接着,存储控制器210根据对应文件D的文件读取指令,经由文件D的逻辑地址“LBA960”决定出对应的映射表“0”。由于映射表“0”已经载入至缓冲存储器214,存储控制器210可直接从已载入的映射表“0”来查找对应逻辑地址“LBA 960”的实体地址,以获得文件D的实体地址,从而从文件D的实体地址来读取文件D的数据,而不需要再次载入映射表“0”。
依此类推,在读取指定目录的文件A~文件L的数据读取操作中,共需要读取9次映射表(执行9次的映射表读取操作)。应注意的是,在9次的映射表读取操作中,其中有7次是重复读取/载入(因为,映射表“0”、映射表“1”已经在前两次的映射表读取操作中被读取过了)。
然而,使用本发明所提供的数据读取方法,可将映射表读取次数降至两次。也就是说,不会有任何重复读取/载入映射表的操作。
举例来说,请参照图4A,如表T41所示,存储控制器210从主机系统10获得对应指定目录中的多个文件的多个文件读取指令,指定目录的文件A~文件L的逻辑地址与图3相同。在图4A的例子中,首先,存储控制器210根据对应文件A的文件读取指令,经由文件A(如,第一文件)的逻辑地址“LBA 2840”决定出对应的映射表“0”(如,第一映射表)。存储控制器210会从可复写式非易失性存储器模块220载入/读取映射表“0”至缓冲存储器214的第一存储器区段,并且从所载入的映射表“0”来查找对应逻辑地址“LBA 2840”的实体地址(如,第一实体地址),以获得文件A的实体地址,从而从文件A的实体地址来读取文件A的数据(如,第一数据)以回应对应文件A的文件读取指令(如,第一文件读取指令)。
接着,存储控制器210识别所述多个文件A~L中所述文件A之外的对应所述映射表“0”的文件C、D、F、H、I、K、L(如,第二文件)的逻辑地址(如,第二逻辑地址),并且根据所述多个第二逻辑地址“LBA 368、LBA 960、LBA 80、LBA 1392、LBA 2456、LBA 3024、LBA 360”来决定映射表“0”内的目标内容。
在一实施例中,存储控制器210识别出第二逻辑地址“LBA 368、LBA 960、LBA 80、LBA 1392、LBA 2456、LBA 3024、LBA 360”中最小的逻辑地址“LBA 80”及最大的逻辑地址“LBA 3024”,将映射表“0”内对应逻辑地址“LBA 80”至逻辑地址“LBA 3024”的部分内容作为目标内容,并且将所述目标内容从缓冲存储器214的第一存储器区段复制到缓冲存储器214的第二存储器区段。请参照图4B,假设表T42为映射表“0”,其包含了逻辑地址“LBA 0”~“LBA 4095”以及映射至逻辑地址“LBA 0”~“LBA 4095”的实体地址“PBA(0)”~ “PBA (N)”共4096笔映射数据。在此例子中,所述目标内容TC包括了映射表“0”内的逻辑地址“LBA 80”~“LBA 3024”以及映射至逻辑地址“LBA 80”~“LBA 3024”的实体地址“PBA (1)”~“PBA (7)”的映射数据。也就是说,文件C、D、F、H、I、K、L的逻辑地址“LBA 368、LBA 960、LBA 80、LBA1392、LBA 2456、LBA 3024、LBA 360”所映射的实体地址“PBA (3)、PBA (4)、PBA (1)、PBA(5)、PBA (6)、PBA (7)、PBA (2)”,可从所述目标内容TC中被查找到。
值得一提的是,在另一实施例中,存储控制器210直接将映射表“0”内对应逻辑地址“LBA 80、LBA 360、LBA 368、LBA 960、LBA 1392、LBA 2456、LBA 3024”的映射内容作为目标内容。如图4B所示,此目标内容例如是仅包含了映射表“0”内的逻辑地址“LBA 80、LBA360、LBA 368、LBA 960、LBA 1392、LBA 2456、LBA 3024”以及映射至逻辑地址“LBA 80、LBA360、LBA 368、LBA 960、LBA 1392、LBA 2456、LBA 3024”的实体地址“PBA (1)、PBA (2)、PBA(3)、PBA (4)、PBA (5)、PBA (6)、PBA (7)”的映射数据。接着,存储控制器210将所述目标内容从缓冲存储器214的第一存储器区段复制到缓冲存储器214的第二存储器区段。也就是说,文件C、D、F、H、I、K、L的逻辑地址“LBA 368、LBA 960、LBA 80、LBA 1392、LBA 2456、LBA3024、LBA 360”所映射的实体地址“PBA (3)、PBA (4)、PBA (1)、PBA (5)、PBA (6)、PBA(7)、PBA (2)”,也可从所述目标内容中被查找到。并且在此另一实施例中,所述目标内容的大小较小。
在将所述目标内容从缓冲存储器214的第一存储器区段复制到缓冲存储器214的第二存储器区段后,存储控制器210根据对应文件B(如,第三文件)的文件读取指令,经由文件B的逻辑地址“LBA 7624”(如,第三逻辑地址)决定出对应的映射表“1”(如,第二映射表)。由于当前在缓冲存储器214的映射表“0”并非映射表“1”,存储控制器210会从可复写式非易失性存储器模块220载入/读取映射表“1”至缓冲存储器214的第一存储器区段,原本的映射表“0”会被覆写,并且从所载入的映射表“1”来查找对应逻辑地址“LBA 7624”的实体地址(如,第三实体地址),以获得文件B的实体地址,从而从文件B的实体地址来读取文件B的数据(如,第三数据)以回应对应文件B的文件读取指令(如,第三文件读取指令)。
接着,接着,存储控制器210根据对应文件C(如,第四文件)的文件读取指令,经由文件C的逻辑地址“LBA 368”(如,第四逻辑地址)决定出对应的映射表“0”。虽然缓冲存储器214的第一存储器区段内的映射表“1”并非映射表“0”,但是因为缓冲存储器214的第二存储器区段已经存储了对应映射表“0”的目标内容,存储控制器210可从缓冲存储器214的第二存储器区段内的目标内容来查找对应逻辑地址“LBA 368”的实体地址(如,第四实体地址),而不需要重复地从可复写式非易失性存储器模块220载入/读取映射表“0”至缓冲存储器214的第一存储器区段。如此一来,存储控制器210可在获得文件C的实体地址后,从文件C的实体地址来读取文件C的数据(如,第四数据)以回应对应文件C的文件读取指令(如,第四文件读取指令)。
依此类推,针对后续的文件D、F、H、I、K、L的数据读取操作,相似于文件C的数据读取操作,不赘述于此。
另一方面,针对文件E、G、J的文件读取指令,由于映射表“1”依然存在于缓冲存储器214的第一存储器区段中,存储控制器210可直接从已载入的映射表“1”来查找对应文件E、G、J的逻辑地址的实体地址,以获得文件E、G、J的实体地址,从而从文件E、G、J的实体地址来读取文件E、G、J的数据以回应文件E、G、J的文件读取指令,而不需要再次载入映射表“1”。
如此一来,经由上述的流程说明可知道,经由本发明的实施例所提供的数据读取方法,相较于传统的数据读取方法,存储控制器210可将映射表读取次数从9次降至2次,同时避免了映射表的重复读取/载入,大大地加速了存储装置的数据读取效率。
基于上述,本发明实施例所提供的存储装置、存储控制器以及所述存储控制器所使用的数据读取方法,可通过复制当前映射表的对应指定目录的后续文件的目标内容,有效地避免了目标内容在后续的载入其他映射表操作中被覆盖的问题。这样,后续指定目录中其他文件的实体地址可以通过目标内容来查询,从而避免了重复加载映射表的困扰。这一创新减少了映射表的重复读取次数,显着提高了存储装置和存储控制器的数据读取效率,迅速提升了对指定目录中所有文件的数据读取速度。通过采用这一技术手段,存储系统能够更为高效地处理大量文件目录及其下的文件和目录项的读取操作。该方法不仅节省了存储设备加载映射表的时间,也减轻了系统的读取负担,为用户提供更为快速、流畅的数据读取体验。这一技术创新在大规模数据读取操作中表现出色,为存储领域的技术发展带来了新的进展。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。

Claims (15)

1.一种存储控制器,用于控制配置有一可复写式非易失性存储器模块的一存储装置,其特征在于,所述存储控制器包括:
存储器接口控制电路,用以耦接至所述可复写式非易失性存储器模块,其中所述可复写式非易失性存储器模块包括多个存储器晶粒,其中每一所述存储器晶粒具有多个实体块,每一所述实体块具有多个实体页,所述多个实体页分别对应至多个实体地址;
缓冲存储器;以及
处理器,耦接至所述存储器接口控制电路及所述缓冲存储器,其中所述处理器更耦接至所述存储装置的连接接口电路,以耦接至主机系统,
其中所述处理器用以从所述主机系统获得对应目录的多个文件的多个文件读取指令,
其中所述处理器更用以根据所述多个文件读取指令识别分别对应所述多个文件的多个逻辑地址,
其中所述处理器更用以根据所述多个逻辑地址来决定分别对应所述多个文件的多个映射表,
其中所述处理器更用以从所述可复写式非易失性存储器模块载入对应所述多个文件中的第一文件的第一映射表至所述缓冲存储器的第一存储器区段,并且从所述第一映射表中,查找对应所述第一文件的第一逻辑地址的第一实体地址,以从所述第一实体地址读取所述第一文件的第一数据,从而回应对应所述第一文件的第一文件读取指令,
其中所述处理器更用以识别所述多个文件中所述第一文件之外的对应所述第一映射表的一或多个第二文件的一或多个第二逻辑地址,
其中所述处理器更用以根据所述一或多个第二逻辑地址来决定所述第一映射表的目标内容,并且复制所述目标内容于所述缓冲存储器的第二存储器区段,
其中所述处理器更用以在复制所述目标内容于所述缓冲存储器的所述第二存储器区段后,从所述可复写式非易失性存储器模块载入对应所述多个文件中的第三文件的第二映射表至所述缓冲存储器的所述第一存储器区段,并且从所述第二映射表中,查找对应所述第三文件的第三逻辑地址的第三实体地址,以从所述第三实体地址读取所述第三文件的第三数据,从而回应对应所述第三文件的第三文件读取指令,其中所述第二映射表不同于所述第一映射表,并且所述第二映射表覆写所述缓冲存储器中的所述第一映射表,
其中所述处理器更用以从所述目标内容中,查找对应所述一或多个第二文件中的第四文件的第四逻辑地址的第四实体地址,以从所述第四实体地址读取所述第四文件的第四数据,从而回应对应所述第四文件的第四文件读取指令。
2.根据权利要求1所述的存储控制器,其特征在于,其中在根据所述一或多个第二逻辑地址来决定所述第一映射表的所述目标内容的运作中,
所述处理器根据所述一或多个第二逻辑地址的先后顺序,识别最小的第二逻辑地址及最大的第二逻辑地址,
其中所述处理器将所述第一映射表中对应所述最小的第二逻辑地址及所述最大的第二逻辑地址之间的多个逻辑地址的内容作为所述目标内容。
3.根据权利要求1所述的存储控制器,其特征在于,其中在根据所述一或多个第二逻辑地址来决定所述第一映射表的所述目标内容的运作中,
所述处理器根据所述一或多个第二逻辑地址,将所述第一映射表中对应所述一或多个第二逻辑地址的内容作为所述目标内容。
4.根据权利要求1所述的存储控制器,其特征在于,其中在根据所述多个逻辑地址来决定分别对应所述多个文件的所述多个映射表的运作中,
所述处理器根据每个映射表的预定逻辑地址数量以及所述多个文件中的目标文件的目标逻辑地址来计算所述目标文件所对应的目标映射表的序号,
其中所述处理器根据所述目标映射表的所述序号,决定对应所述目标文件的所述目标映射表。
5.根据权利要求4所述的存储控制器,其特征在于,其中在计算所述目标文件所对应的所述目标映射表的所述序号的运作中,
所述处理器将所述目标逻辑地址除以所述预定逻辑地址数量,以获得商,
其中所述处理器将所获得的所述商作为所述目标文件所对应的所述目标映射表的所述序号。
6.一种数据读取方法,用于存储控制器以读取可复写式非易失性存储器模块,其中所述可复写式非易失性存储器模块包括多个存储器晶粒,其中每一所述存储器晶粒具有多个实体块,每一所述实体块具有多个实体页,所述多个实体页分别对应至多个实体地址,其特征在于,包括:
从主机系统获得对应目录的多个文件的多个文件读取指令;
根据所述多个文件读取指令识别分别对应所述多个文件的多个逻辑地址;
根据所述多个逻辑地址来决定分别对应所述多个文件的多个映射表;
从所述可复写式非易失性存储器模块载入对应所述多个文件中的第一文件的第一映射表至所述存储控制器的缓冲存储器的第一存储器区段,并且从所述第一映射表中,查找对应所述第一文件的第一逻辑地址的第一实体地址,以从所述第一实体地址读取所述第一文件的第一数据,从而回应对应所述第一文件的第一文件读取指令;
识别所述多个文件中所述第一文件之外的对应所述第一映射表的一或多个第二文件的一或多个第二逻辑地址;
根据所述一或多个第二逻辑地址来决定所述第一映射表的目标内容,并且复制所述目标内容于所述缓冲存储器的第二存储器区段;
在复制所述目标内容于所述缓冲存储器的所述第二存储器区段后,从所述可复写式非易失性存储器模块载入对应所述多个文件中的第三文件的第二映射表至所述缓冲存储器的所述第一存储器区段,并且从所述第二映射表中,查找对应所述第三文件的第三逻辑地址的第三实体地址,以从所述第三实体地址读取所述第三文件的第三数据,从而回应对应所述第三文件的第三文件读取指令,其中所述第二映射表不同于所述第一映射表,并且所述第二映射表覆写所述缓冲存储器中的所述第一映射表;以及
从所述目标内容中,查找对应所述一或多个第二文件中的第四文件的第四逻辑地址的第四实体地址,以从所述第四实体地址读取所述第四文件的第四数据,从而回应对应所述第四文件的第四文件读取指令。
7.根据权利要求6所述的数据读取方法,其特征在于,其中根据所述一或多个第二逻辑地址来决定所述第一映射表的所述目标内容的步骤包括:
根据所述一或多个第二逻辑地址的先后顺序,识别最小的第二逻辑地址及最大的第二逻辑地址;以及
将所述第一映射表中对应所述最小的第二逻辑地址及所述最大的第二逻辑地址之间的多个逻辑地址的内容作为所述目标内容。
8.根据权利要求6所述的数据读取方法,其特征在于,其中根据所述一或多个第二逻辑地址来决定所述第一映射表的所述目标内容的步骤包括:
根据所述一或多个第二逻辑地址,将所述第一映射表中对应所述一或多个第二逻辑地址的内容作为所述目标内容。
9.根据权利要求6所述的数据读取方法,其特征在于,其中根据所述多个逻辑地址来决定分别对应所述多个文件的所述多个映射表的步骤包括:
根据每个映射表的预定逻辑地址数量以及所述多个文件中的目标文件的目标逻辑地址来计算所述目标文件所对应的目标映射表的序号;以及
根据所述目标映射表的所述序号,决定对应所述目标文件的所述目标映射表。
10.根据权利要求9所述的数据读取方法,其特征在于,其中计算所述目标文件所对应的所述目标映射表的所述序号的步骤包括:
将所述目标逻辑地址除以所述预定逻辑地址数量,以获得商;以及
将所获得的所述商作为所述目标文件所对应的所述目标映射表的所述序号。
11.一种存储装置,其特征在于,包括:
连接接口电路,用以耦接至主机系统;
可复写式非易失性存储器模块,其中所述可复写式非易失性存储器模块包括多个存储器晶粒,其中每一所述存储器晶粒具有多个实体块,每一所述实体块具有多个实体页,所述多个实体页分别对应至多个实体地址;以及
存储控制器,耦接至所述连接接口电路以及所述可复写式非易失性存储器模块,
其中所述存储控制器用以从所述主机系统获得对应目录的多个文件的多个文件读取指令,
其中所述存储控制器更用以根据所述多个文件读取指令识别分别对应所述多个文件的多个逻辑地址,
其中所述存储控制器更用以根据所述多个逻辑地址来决定分别对应所述多个文件的多个映射表,
其中所述存储控制器更用以从所述可复写式非易失性存储器模块载入对应所述多个文件中的第一文件的第一映射表至所述存储控制器的缓冲存储器的第一存储器区段,并且从所述第一映射表中,查找对应所述第一文件的第一逻辑地址的第一实体地址,以从所述第一实体地址读取所述第一文件的第一数据,从而回应对应所述第一文件的第一文件读取指令,
其中所述存储控制器更用以识别所述多个文件中所述第一文件之外的对应所述第一映射表的一或多个第二文件的一或多个第二逻辑地址,
其中所述存储控制器更用以根据所述一或多个第二逻辑地址来决定所述第一映射表的目标内容,并且复制所述目标内容于所述缓冲存储器的第二存储器区段,
其中所述存储控制器更用以在复制所述目标内容于所述缓冲存储器的所述第二存储器区段后,从所述可复写式非易失性存储器模块载入对应所述多个文件中的第三文件的第二映射表至所述缓冲存储器的所述第一存储器区段,并且从所述第二映射表中,查找对应所述第三文件的第三逻辑地址的第三实体地址,以从所述第三实体地址读取所述第三文件的第三数据,从而回应对应所述第三文件的第三文件读取指令,其中所述第二映射表不同于所述第一映射表,并且所述第二映射表覆写所述缓冲存储器中的所述第一映射表,
其中所述存储控制器更用以从所述目标内容中,查找对应所述一或多个第二文件中的第四文件的第四逻辑地址的第四实体地址,以从所述第四实体地址读取所述第四文件的第四数据,从而回应对应所述第四文件的第四文件读取指令。
12.根据权利要求11所述的存储装置,其特征在于,其中在根据所述一或多个第二逻辑地址来决定所述第一映射表的所述目标内容的运作中,
所述存储控制器根据所述一或多个第二逻辑地址的先后顺序,识别最小的第二逻辑地址及最大的第二逻辑地址,
其中所述存储控制器将所述第一映射表中对应所述最小的第二逻辑地址及所述最大的第二逻辑地址之间的多个逻辑地址的内容作为所述目标内容。
13.根据权利要求11所述的存储装置,其特征在于,其中在根据所述一或多个第二逻辑地址来决定所述第一映射表的所述目标内容的运作中,
所述存储控制器根据所述一或多个第二逻辑地址,将所述第一映射表中对应所述一或多个第二逻辑地址的内容作为所述目标内容。
14.根据权利要求11所述的存储装置,其特征在于,其中在根据所述多个逻辑地址来决定分别对应所述多个文件的多个映射表的运作中,
所述存储控制器根据每个映射表的预定逻辑地址数量以及所述多个文件中的目标文件的目标逻辑地址来计算所述目标文件所对应的目标映射表的序号,
其中所述存储控制器根据所述目标映射表的所述序号,决定对应所述目标文件的所述目标映射表。
15.根据权利要求14所述的存储装置,其特征在于,其中在计算所述目标文件所对应的所述目标映射表的所述序号的运作中,
所述存储控制器将所述目标逻辑地址除以所述预定逻辑地址数量,以获得商,
其中所述存储控制器将所获得的所述商作为所述目标文件所对应的所述目标映射表的所述序号。
CN202410101913.6A 2024-01-25 2024-01-25 存储器控制器、数据读取方法及存储装置 Active CN117632809B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202410101913.6A CN117632809B (zh) 2024-01-25 2024-01-25 存储器控制器、数据读取方法及存储装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202410101913.6A CN117632809B (zh) 2024-01-25 2024-01-25 存储器控制器、数据读取方法及存储装置

Publications (2)

Publication Number Publication Date
CN117632809A CN117632809A (zh) 2024-03-01
CN117632809B true CN117632809B (zh) 2024-04-02

Family

ID=90034207

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202410101913.6A Active CN117632809B (zh) 2024-01-25 2024-01-25 存储器控制器、数据读取方法及存储装置

Country Status (1)

Country Link
CN (1) CN117632809B (zh)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106557432A (zh) * 2015-09-29 2017-04-05 群联电子股份有限公司 缓冲存储器管理方法、存储器控制电路单元及存储装置
CN113094307A (zh) * 2021-04-06 2021-07-09 深圳宏芯宇电子股份有限公司 映射信息管理方法、存储器存储装置及存储器控制器

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102025180B1 (ko) * 2013-08-08 2019-09-26 삼성전자주식회사 스토리지 시스템 및 그것의 쓰기 방법
US20230083104A1 (en) * 2021-09-10 2023-03-16 Vmware, Inc. Efficiently Deleting Snapshots in a Log-Structured File System (LFS)-Based Storage System

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106557432A (zh) * 2015-09-29 2017-04-05 群联电子股份有限公司 缓冲存储器管理方法、存储器控制电路单元及存储装置
CN113094307A (zh) * 2021-04-06 2021-07-09 深圳宏芯宇电子股份有限公司 映射信息管理方法、存储器存储装置及存储器控制器

Also Published As

Publication number Publication date
CN117632809A (zh) 2024-03-01

Similar Documents

Publication Publication Date Title
US11055230B2 (en) Logical to physical mapping
EP3992801A1 (en) Data storage method for flash memory device and flash memory device
US9128618B2 (en) Non-volatile memory controller processing new request before completing current operation, system including same, and method
US10657048B2 (en) Garbage collection method for data storage device
JP5090819B2 (ja) メモリーカード及び該データ格納方法
CN107665091B (zh) 数据读取方法、数据写入方法及其存储控制器
US10324651B2 (en) Data transmission method, and storage controller and list management circuit using the same
US11334493B2 (en) Memory system and operating method thereof
US11210226B2 (en) Data storage device and method for first processing core to determine that second processing core has completed loading portion of logical-to-physical mapping table thereof
CN113900582B (zh) 数据处理方法及对应的数据储存装置
US11762590B2 (en) Memory system and data processing system including multi-core controller for classified commands
CN107943710B (zh) 存储器管理方法及使用所述方法的存储控制器
US20240231663A1 (en) Storage device and method of operating the same
CN113641597B (zh) 管理数据存储的方法及装置以及计算机可读取存储介质
TWI715408B (zh) 快閃記憶體控制器、記憶體裝置以及存取快閃記憶體模組之方法
CN117632809B (zh) 存储器控制器、数据读取方法及存储装置
US11188265B2 (en) Method for performing storage space management, associated data storage device, and controller thereof
CN114328297A (zh) 映射表管理方法、存储器控制电路单元与存储器存储装置
CN118394267A (zh) 存储器控制器、数据读取方法及存储装置
CN111596859B (zh) 数据储存装置与数据处理方法
CN110879794B (zh) 存储器管理方法以及存储控制器
CN118606220A (zh) 主机系统、存储装置及数据读取方法
CN113946279A (zh) 主机效能加速模式的数据读取方法及装置
WO2024058840A1 (en) Ssd use of host memory buffer for improved performance
CN118760394A (zh) 数据存储装置、数据存储系统及所使用的数据整理方法

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
GR01 Patent grant
GR01 Patent grant