CN114115737B - 数据存储分配方法、存储器存储装置及控制电路单元 - Google Patents

数据存储分配方法、存储器存储装置及控制电路单元 Download PDF

Info

Publication number
CN114115737B
CN114115737B CN202111395837.7A CN202111395837A CN114115737B CN 114115737 B CN114115737 B CN 114115737B CN 202111395837 A CN202111395837 A CN 202111395837A CN 114115737 B CN114115737 B CN 114115737B
Authority
CN
China
Prior art keywords
memory
data
writing
amount
write
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
CN202111395837.7A
Other languages
English (en)
Other versions
CN114115737A (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 CN202111395837.7A priority Critical patent/CN114115737B/zh
Priority to TW110145080A priority patent/TWI818370B/zh
Priority to US17/555,487 priority patent/US11822798B2/en
Publication of CN114115737A publication Critical patent/CN114115737A/zh
Application granted granted Critical
Publication of CN114115737B publication Critical patent/CN114115737B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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/0629Configuration or reconfiguration of storage systems
    • G06F3/0631Configuration or reconfiguration of storage systems by allocating resources to 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/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
    • 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
    • G06F3/0611Improving I/O performance in relation to response time
    • 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/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • G06F12/0238Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
    • G06F12/0246Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
    • 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/0604Improving or facilitating administration, e.g. storage management
    • 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
    • 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/0653Monitoring storage devices or 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/0658Controller construction arrangements
    • 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
    • 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
    • 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/7208Multiple device management, e.g. distributing data over multiple flash devices

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)
  • Read Only Memory (AREA)
  • Communication Control (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本发明提供一种数据存储分配方法、存储器存储装置及存储器控制电路单元。此方法包括:检测多个存储器单元的多个数据写入速度;依据各存储器单元的晶粒数量决定各存储器单元的初始写入量;依据多个数据写入速度以及各存储器单元的初始写入量计算至少一补偿数据量;以及依据各存储器单元的初始写入量以及至少一补偿数据量将对应写入指令的写入数据写入至多个存储器单元。

Description

数据存储分配方法、存储器存储装置及控制电路单元
技术领域
本发明涉及一种存储器数据存储技术,尤其涉及一种数据存储分配方法、存储器存储装置及存储器控制电路单元。
背景技术
数码相机、移动电话与MP3播放器在这几年来的成长十分迅速,使得消费者对存储媒体的需求也急速增加。由于可复写式非易失性存储器模块(rewritable non-volatilememory module)(例如,快闪存储器)具有数据非易失性、省电、体积小,以及无机械结构等特性,所以非常适合内建于上述所举例的各种可携式多媒体装置中。
随着技术发展,可复写式非易失性存储器模块从单阶存储单元(Single LevelCell,SLC)NAND型快闪存储器模块(即,一个存储单元中可存储1个比特的快闪存储器模块)逐渐发展为包括可存储更多比特的存储单元的快闪存储器模块。例如,多阶存储单元(Multi Level Cell,MLC)NAND型快闪存储器模块(即,一个存储单元中可存储2个比特的快闪存储器模块)、三阶存储单元(Triple Level Cell,TLC)NAND型快闪存储器模块(即,一个存储单元中可存储3个比特的快闪存储器模块)、四阶存储单元(Quad Level Cell,QLC)NAND型快闪存储器模块(即,一个存储单元中可存储4个比特的快闪存储器模块)等。四阶存储单元NAND型快闪存储器模块的单晶粒的容量可达到1.33TB。然而,市面上快闪存储器的存储器容量基本采用2的幂次方计算,如256GB、512GB、1TB等。对于QLC NAND型快闪存储器模块来说,势必会挂载奇数个存储器晶粒来符合基本存储器容量。受限于此类快闪存储器模块的特性,存储器存储装置的数据写入效率将会降低。
发明内容
本发明提供一种数据存储分配方法、存储器存储装置及存储器控制电路单元,可提高存储器存储装置的数据写入效率。
本发明的数据存储分配方法,用于存储器存储装置。所述存储器存储装置具有存储器控制电路单元以及可复写式非易失性存储器模块。所述可复写式非易失性存储器模块包括多个存储器单元。所述数据存储分配方法包括:自主机***接收写入指令;检测所述多个存储器单元的多个数据写入速度,其中各所述多个存储器单元具有晶粒数量的存储器晶粒,且经由多个数据输入输出总线的其中一个耦接至所述存储器控制电路单元;依据各所述多个存储器单元的所述晶粒数量决定各所述多个存储器单元的初始写入量;依据所述多个数据写入速度以及各所述多个存储器单元的所述初始写入量计算至少一补偿数据量;以及依据各所述多个存储器单元的所述初始写入量以及所述至少一补偿数据量将对应所述写入指令的写入数据写入至所述多个存储器单元。
在本发明的一实施例中,上述依据各所述多个存储器单元的所述晶粒数量决定各所述多个存储器单元的所述初始写入量的步骤包括:依据各所述多个存储器单元的所述晶粒数量决定所述多个存储器单元之间的写入比例;以及依据所述写入比例以及写入单位计算各所述多个存储器单元的所述初始写入量。
在本发明的一实施例中,上述各所述多个存储器单元的所述初始写入量与对应至各所述多个存储器单元的所述补偿数据量的总和除以各所述多个存储器单元的所述数据写入速度所获得的数值皆相同。
在本发明的一实施例中,上述依据各所述多个存储器单元的所述初始写入量以及所述至少一补偿数据量将对应所述写入指令的写入数据写入至所述多个存储器单元的步骤包括:将所述写入数据中对应所述多个存储器单元中的第一存储器单元的第一初始写入量以及第一补偿数据量的总和的第一数据,经由与所述第一存储器单元耦接的第一数据输入输出总线传输至所述第一存储器单元。
在本发明的一实施例中,上述方法还包括:检测所述多个存储器单元中第一存储器单元的第一数据写入速度以及第二存储器单元的第一数据写入速度,其中所述第一存储器单元具有的存储器晶粒的第一晶粒数量大于所述第二存储器单元具有的存储器晶粒的第二晶粒数量;依据所述第一晶粒数量决定所述第一存储器单元的第一初始写入量,并依据所述第二晶粒数量决定所述第二存储器单元的第二初始写入量;依据第一数据写入速度、所述第一数据写入速度、所述第一初始写入量以及所述第二初始写入量计算所述至少一补偿数据量;以及依据所述第一初始写入量以及所述至少一补偿数据量将所述写入数据传输至所述第一存储器单元。
在本发明的一实施例中,上述方法还包括:在依据所述第一初始写入量以及所述至少一补偿数据量将所述写入数据传输至所述第一存储器单元之后,依据所述第二初始写入量将所述写入数据传输至所述第二存储器单元。
在本发明的一实施例中,上述可复写式非易失性存储器模块为四阶存储单元(QLC)NAND型快闪存储器模块,其中至少一所述多个存储器单元的所述晶粒数量与其他所述多个存储器单元的所述晶粒数量不同。
在本发明的一实施例中,上述方法还包括:依据各所述多个存储器单元的所述晶粒数量决定写入各所述多个存储器单元的数据的类型或对各所述多个存储器单元执行垃圾回收操作的优先顺序。
本发明的存储器存储装置包括连接接口单元、可复写式非易失性存储器模块以及存储器控制电路单元。所述连接接口单元用以耦接至主机***。所述可复写式非易失性存储器模块包括多个存储器单元。所述存储器控制电路单元耦接至所述连接接口单元与所述可复写式非易失性存储器模块。所述存储器控制电路单元用以自所述主机***接收写入指令。所述存储器控制电路单元更用以检测所述多个存储器单元的多个数据写入速度,其中各所述多个存储器单元具有晶粒数量的存储器晶粒,且经由多个数据输入输出总线的其中一个耦接至所述存储器控制电路单元。所述存储器控制电路单元更用以依据各所述多个存储器单元的所述晶粒数量决定各所述多个存储器单元的初始写入量。所述存储器控制电路单元更用以依据所述多个数据写入速度以及各所述多个存储器单元的所述初始写入量计算至少一补偿数据量。并且,所述存储器控制电路单元更用以依据各所述多个存储器单元的所述初始写入量以及所述至少一补偿数据量将对应所述写入指令的写入数据写入至所述多个存储器单元。
在本发明的一实施例中,上述存储器控制电路单元更用以依据各所述多个存储器单元的所述晶粒数量决定所述多个存储器单元之间的写入比例。并且,所述存储器控制电路单元更用以依据所述写入比例以及写入单位计算各所述多个存储器单元的所述初始写入量。
在本发明的一实施例中,上述各所述多个存储器单元的所述初始写入量与对应至各所述多个存储器单元的所述补偿数据量的总和除以各所述多个存储器单元的所述数据写入速度所获得的数值皆相同。
在本发明的一实施例中,上述存储器控制电路单元更用以将所述写入数据中对应所述多个存储器单元中的第一存储器单元的第一初始写入量以及第一补偿数据量的总和的第一数据,经由与所述第一存储器单元耦接的第一数据输入输出总线传输至所述第一存储器单元。
在本发明的一实施例中,上述存储器控制电路单元更用以检测所述多个存储器单元中第一存储器单元的第一数据写入速度以及第二存储器单元的第一数据写入速度,其中所述第一存储器单元具有的存储器晶粒的第一晶粒数量大于所述第二存储器单元具有的存储器晶粒的第二晶粒数量。所述存储器控制电路单元更用以依据所述第一晶粒数量决定所述第一存储器单元的第一初始写入量,并依据所述第二晶粒数量决定所述第二存储器单元的第二初始写入量。所述存储器控制电路单元更用以依据第一数据写入速度、所述第一数据写入速度、所述第一初始写入量以及所述第二初始写入量计算所述至少一补偿数据量。并且,所述存储器控制电路单元更用以依据所述第一初始写入量以及所述至少一补偿数据量将所述写入数据传输至所述第一存储器单元。
在本发明的一实施例中,上述存储器控制电路单元更用以在依据所述第一初始写入量以及所述至少一补偿数据量将所述写入数据传输至所述第一存储器单元之后,依据所述第二初始写入量将所述写入数据传输至所述第二存储器单元。
在本发明的一实施例中,上述可复写式非易失性存储器模块为四阶存储单元(QLC)NAND型快闪存储器模块,其中至少一所述多个存储器单元的所述晶粒数量与其他所述多个存储器单元的所述晶粒数量不同。
在本发明的一实施例中,上述存储器控制电路单元更用以依据各所述多个存储器单元的所述晶粒数量决定写入各所述多个存储器单元的数据的类型或对各所述多个存储器单元执行垃圾回收操作的优先顺序。
本发明的存储器控制电路单元,用于控制可复写式非易失性存储器模块。所述可复写式非易失性存储器模块包括多个存储器单元。所述存储器控制电路单元包括主机接口、存储器接口以及存储器管理电路。所述主机接口用以耦接至主机***。所述存储器接口用以耦接至所述可复写式非易失性存储器模块。所述存储器管理电路耦接至所述主机接口与所述存储器接口。所述存储器管理电路用以自所述主机***接收写入指令。所述存储器管理电路更用以检测所述多个存储器单元的多个数据写入速度,其中各所述多个存储器单元具有晶粒数量的存储器晶粒,且经由多个数据输入输出总线的其中一个耦接至所述存储器控制电路单元。所述存储器管理电路更用以依据各所述多个存储器单元的所述晶粒数量决定各所述多个存储器单元的初始写入量。所述存储器管理电路更用以依据所述多个数据写入速度以及各所述多个存储器单元的所述初始写入量计算至少一补偿数据量。并且,所述存储器管理电路更用以依据各所述多个存储器单元的所述初始写入量以及所述至少一补偿数据量将对应所述写入指令的写入数据写入至所述多个存储器单元。
在本发明的一实施例中,上述存储器管理电路更用以依据各所述多个存储器单元的所述晶粒数量决定所述多个存储器单元之间的写入比例。并且,所述存储器管理电路更用以依据所述写入比例以及写入单位计算各所述多个存储器单元的所述初始写入量。
在本发明的一实施例中,上述各所述多个存储器单元的所述初始写入量与对应至各所述多个存储器单元的所述补偿数据量的总和除以各所述多个存储器单元的所述数据写入速度所获得的数值皆相同。
在本发明的一实施例中,上述存储器管理电路更用以将所述写入数据中对应所述多个存储器单元中的第一存储器单元的第一初始写入量以及第一补偿数据量的总和的第一数据,经由与所述第一存储器单元耦接的第一数据输入输出总线传输至所述第一存储器单元。
在本发明的一实施例中,上述存储器管理电路更用以检测所述多个存储器单元中第一存储器单元的第一数据写入速度以及第二存储器单元的第一数据写入速度,其中所述第一存储器单元具有的存储器晶粒的第一晶粒数量大于所述第二存储器单元具有的存储器晶粒的第二晶粒数量。所述存储器管理电路更用以依据所述第一晶粒数量决定所述第一存储器单元的第一初始写入量,并依据所述第二晶粒数量决定所述第二存储器单元的第二初始写入量。所述存储器管理电路更用以依据第一数据写入速度、所述第一数据写入速度、所述第一初始写入量以及所述第二初始写入量计算所述至少一补偿数据量。并且,所述存储器管理电路更用以依据所述第一初始写入量以及所述至少一补偿数据量将所述写入数据传输至所述第一存储器单元。
在本发明的一实施例中,上述存储器管理电路更用以在依据所述第一初始写入量以及所述至少一补偿数据量将所述写入数据传输至所述第一存储器单元之后,依据所述第二初始写入量将所述写入数据传输至所述第二存储器单元。
在本发明的一实施例中,上述可复写式非易失性存储器模块为四阶存储单元(QLC)NAND型快闪存储器模块,其中至少一所述多个存储器单元的所述晶粒数量与其他所述多个存储器单元的所述晶粒数量不同。
在本发明的一实施例中,上述存储器管理电路更用以依据各所述多个存储器单元的所述晶粒数量决定写入各所述多个存储器单元的数据的类型或对各所述多个存储器单元执行垃圾回收操作的优先顺序。
基于上述,本范例实施例提出的数据存储分配方法、存储器存储装置及存储器控制电路单元,能够依据存储器单元的数据写入速度与晶粒数量决定补偿数据量,并额外传输对应补偿数据量的数据至存储器单元。通过传输较多数据给数据写入速度较快的存储器单元,可使得每个存储器单元中的存储器晶粒同时处于忙碌状态。藉此,可即时平衡每个存储器单元的写入数据量,进而提高存储器存储装置的数据写入效率。
为让本发明的上述特征和优点能更明显易懂,下文特举实施例,并配合所附附图作详细说明如下。
附图说明
图1是根据本发明的一范例实施例所示出的主机***、存储器存储装置及输入/输出(I/O)装置的示意图;
图2是根据本发明的另一范例实施例所示出的主机***、存储器存储装置及I/O装置的示意图;
图3是根据本发明的另一范例实施例所示出的主机***与存储器存储装置的示意图;
图4是根据本发明的一范例实施例所示出的存储器存储装置的概要方块图;
图5是根据本发明的一范例实施例所示出的存储器控制电路单元的概要方块图;
图6是根据本发明的一范例实施例所示出的管理可复写式非易失性存储器模块的示意图;
图7是根据本发明的一范例实施例所示出的存储器管理电路与多个存储器单元的示意图;
图8是根据本发明的一范例实施例所示出的超实体单元的示意图;
图9是根据本发明的一范例实施例所示出的对应写入指令的实体单元的范例;
图10是根据本发明的一范例实施例所示出的数据存储分配方法的流程图。
具体实施方式
现将详细地参考本发明的示范性实施例,示范性实施例的实例说明于附图中。只要有可能,相同元件符号在附图和描述中用来表示相同或相似部分。
本案说明书全文(包括权利要求)中提及的“第一”、“第二”等用语是用以命名元件(element)的名称,或区别不同实施例或范围,而并非用来限制元件数量的上限或下限,亦非用来限制元件的次序。另外,凡可能之处,在附图及实施方式中使用相同标号的元件/构件/步骤代表相同或类似部分。不同实施例中使用相同标号或使用相同用语的元件/构件/步骤可以相互参照相关说明。这些实施例只是本发明的一部分,并未揭示所有本发明的可实施方式。
一般而言,存储器存储装置(亦称,存储器存储***)包括可复写式非易失性存储器模块(rewritable non-volatile memory module)与控制器(亦称,控制电路)。通常存储器存储装置是与主机***一起使用,以使主机***可将数据写入至存储器存储装置或从存储器存储装置中读取数据。
图1是根据本发明的一范例实施例所示出的主机***、存储器存储装置及输入/输出(I/O)装置的示意图。图2是根据本发明的另一范例实施例所示出的主机***、存储器存储装置及I/O装置的示意图。
请参照图1与图2,主机***11一般包括处理器111、随机存取存储器(randomaccess memory,RAM)112、只读存储器(read only memory,ROM)113及数据传输接口114。处理器111、随机存取存储器112、只读存储器113及数据传输接口114皆耦接至***总线(system bus)110。
在本范例实施例中,主机***11是通过数据传输接口114与存储器存储装置10耦接。例如,主机***11可经由数据传输接口114将数据存储至存储器存储装置10或从存储器存储装置10中读取数据。此外,主机***11是通过***总线110与I/O装置12耦接。例如,主机***11可经由***总线110将输出信号传送至I/O装置12或从I/O装置12接收输入信号。
在本范例实施例中,处理器111、随机存取存储器112、只读存储器113及数据传输接口114可设置在主机***11的主机板20上。数据传输接口114的数目可以是一或多个。通过数据传输接口114,主机板20可以经由有线或无线方式耦接至存储器存储装置10。存储器存储装置10可例如是随身盘201、存储卡202、固态硬盘(Solid State Drive,SSD)203或无线存储器存储装置204。无线存储器存储装置204可例如是近距离无线通信(Near FieldCommunication,NFC)存储器存储装置、无线传真(WiFi)存储器存储装置、蓝牙(Bluetooth)存储器存储装置或低功耗蓝牙存储器存储装置(例如,iBeacon)等以各式无线通信技术为基础的存储器存储装置。此外,主机板20也可以通过***总线110耦接至全球定位***(Global Positioning System,GPS)模块205、网络接口卡206、无线传输装置207、键盘208、屏幕209、喇叭210等各式I/O装置。例如,在一范例实施例中,主机板20可通过无线传输装置207存取无线存储器存储装置204。
在一范例实施例中,所提及的主机***为可实质地与存储器存储装置配合以存储数据的任意***。虽然在上述范例实施例中,主机***是以计算机***来作说明,然而,图3是根据本发明的另一范例实施例所示出的主机***与存储器存储装置的示意图。请参照图3,在另一范例实施例中,主机***31也可以是数码相机、摄影机、通信装置、音频播放器、视频播放器或平板电脑等***,而存储器存储装置30可为其所使用的安全数字(SecureDigital,SD)卡32、小型快闪(Compact Flash,CF)卡33或嵌入式存储装置34等各式非易失性存储器存储装置。嵌入式存储装置34包括嵌入式多媒体卡(embedded Multi MediaCard,eMMC)341和/或嵌入式多芯片封装(embedded Multi Chip Package,eMCP)存储装置342等各类型将存储器模块直接耦接于主机***的基板上的嵌入式存储装置。
图4是根据本发明的一范例实施例所示出的存储器存储装置的概要方块图。请参照图4,存储器存储装置10包括连接接口单元402、存储器控制电路单元404与可复写式非易失性存储器模块406。
连接接口单元402用以将存储器存储装置10耦接至主机***11。存储器存储装置10可通过连接接口单元402与主机***11通信。在本范例实施例中,连接接口单元402是相容于串行高级附件(Serial Advanced Technology Attachment,SATA)标准。然而,必须了解的是,本发明不限于此,连接接口单元402亦可以是符合并行高级附件(ParallelAdvanced Technology Attachment,PATA)标准、电气和电子工程师协会(Institute ofElectrical and Electronic Engineers,IEEE)1394标准、高速周边零件连接接口(Peripheral Component Interconnect Express,PCI Express)标准、通用串行总线(Universal Serial Bus,USB)标准、SD接口标准、超高速一代(Ultra High Speed-I,UHS-I)接口标准、超高速二代(Ultra High Speed-II,UHS-II)接口标准、存储棒(MemoryStick,MS)接口标准、MCP接口标准、MMC接口标准、eMMC接口标准、通用快闪存储器(Universal Flash Storage,UFS)接口标准、eMCP接口标准、CF接口标准、整合式驱动电子接口(Integrated Device Electronics,IDE)标准或其他适合的标准。连接接口单元402可与存储器控制电路单元404封装在一个芯片中,或者连接接口单元402是布设于一包含存储器控制电路单元404的芯片外。
存储器控制电路单元404用以执行以硬件型式或固件型式实作的多个逻辑门或控制指令并且根据主机***11的指令在可复写式非易失性存储器模块406中进行数据的写入、读取与抹除等运作。
可复写式非易失性存储器模块406是耦接至存储器控制电路单元404并且用以存储主机***11所写入的数据。可复写式非易失性存储器模块406可以是单阶存储单元(Single Level Cell,SLC)NAND型快闪存储器模块(即,一个存储单元中可存储1个比特的快闪存储器模块)、多阶存储单元(Multi Level Cell,MLC)NAND型快闪存储器模块(即,一个存储单元中可存储2个比特的快闪存储器模块)、三阶存储单元(Triple Level Cell,TLC)NAND型快闪存储器模块(即,一个存储单元中可存储3个比特的快闪存储器模块)、四阶存储单元(Quad Level Cell,QLC)NAND型快闪存储器模块(即,一个存储单元中可存储4个比特的快闪存储器模块)、其他快闪存储器模块或其他具有相同特性的存储器模块。
可复写式非易失性存储器模块406中的每一个存储单元是以电压(以下亦称为临界电压)的改变来存储一或多个比特。具体来说,每一个存储单元的控制门极(controlgate)与通道之间有一个电荷捕捉层。通过施予一写入电压至控制门极,可以改变电荷补捉层的电子量,进而改变存储单元的临界电压。此改变存储单元的临界电压的操作亦称为“把数据写入至存储单元”或“程序化(programming)存储单元”。随着临界电压的改变,可复写式非易失性存储器模块406中的每一个存储单元具有多个存储状态。通过施予读取电压可以判断一个存储单元是属于哪一个存储状态,藉此取得此存储单元所存储的一或多个比特。
在本范例实施例中,可复写式非易失性存储器模块406的存储单元可构成多个实体程序化单元,并且此些实体程序化单元可构成多个实体抹除单元。具体来说,同一条字线上的存储单元可组成一或多个实体程序化单元。若每一个存储单元可存储2个以上的比特,则同一条字线上的实体程序化单元可至少可被分类为下实体程序化单元与上实体程序化单元。例如,一存储单元的最低有效位(Least Significant Bit,LSB)是属于下实体程序化单元,并且一存储单元的最高有效位(Most Significant Bit,MSB)是属于上实体程序化单元。一般来说,在MLC NAND型快闪存储器中,下实体程序化单元的数据写入速度会大于上实体程序化单元的数据写入速度,和/或下实体程序化单元的可靠度是高于上实体程序化单元的可靠度。
在本范例实施例中,实体程序化单元为程序化的最小单元。即,实体程序化单元为写入数据的最小单元。例如,实体程序化单元可为实体页面(page)或是实体扇(sector)。若实体程序化单元为实体页面,则此些实体程序化单元可包括数据比特区与冗余(redundancy)比特区。数据比特区包含多个实体扇,用以存储使用者数据,而冗余比特区用以存储***数据(例如,错误更正码等管理数据)。在本范例实施例中,数据比特区包含32个实体扇,且一个实体扇的大小为512字节(byte,B)。然而,在其他范例实施例中,数据比特区中也可包含8个、16个或数目更多或更少的实体扇,并且每一个实体扇的大小也可以是更大或更小。另一方面,实体抹除单元为抹除的最小单位。亦即,每一实体抹除单元含有最小数目之一并被抹除的存储单元。例如,实体抹除单元为实体区块(block)。
图5是根据本发明的一范例实施例所示出的存储器控制电路单元的概要方块图。请参照图5,存储器控制电路单元404包括存储器管理电路502、主机接口504及存储器接口506。
存储器管理电路502用以控制存储器控制电路单元404的整体运作。具体来说,存储器管理电路502具有多个控制指令,并且在存储器存储装置10运作时,此些控制指令会被执行以进行数据的写入、读取与抹除等运作。以下说明存储器管理电路502的操作时,等同于说明存储器控制电路单元404的操作。
在本范例实施例中,存储器管理电路502的控制指令是以固件型式来实作。例如,存储器管理电路502具有微处理器单元(未示出)与只读存储器(未示出),并且此些控制指令是被烧录至此只读存储器中。当存储器存储装置10运作时,此些控制指令会由微处理器单元来执行以进行数据的写入、读取与抹除等运作。
在另一范例实施例中,存储器管理电路502的控制指令亦可以代码型式存储于可复写式非易失性存储器模块406的特定区域(例如,存储器模块中专用于存放***数据的***区)中。此外,存储器管理电路502具有微处理器单元(未示出)、只读存储器(未示出)及随机存取存储器(未示出)。特别是,此只读存储器具有开机码(boot code),并且当存储器控制电路单元404被致能时,微处理器单元会先执行此开机码来将存储于可复写式非易失性存储器模块406中的控制指令载入至存储器管理电路502的随机存取存储器中。之后,微处理器单元会运转此些控制指令以进行数据的写入、读取与抹除等运作。
此外,在另一范例实施例中,存储器管理电路502的控制指令亦可以一硬件型式来实作。例如,存储器管理电路502包括微控制器、存储单元管理电路、存储器写入电路、存储器读取电路、存储器抹除电路与数据处理电路。存储单元管理电路、存储器写入电路、存储器读取电路、存储器抹除电路与数据处理电路是耦接至微控制器。存储单元管理电路用以管理可复写式非易失性存储器模块406的存储单元或存储单元群组。存储器写入电路用以对可复写式非易失性存储器模块406下达写入指令序列以将数据写入至可复写式非易失性存储器模块406中。存储器读取电路用以对可复写式非易失性存储器模块406下达读取指令序列以从可复写式非易失性存储器模块406中读取数据。存储器抹除电路用以对可复写式非易失性存储器模块406下达抹除指令序列以将数据从可复写式非易失性存储器模块406中抹除。数据处理电路用以处理欲写入至可复写式非易失性存储器模块406的数据以及从可复写式非易失性存储器模块406中读取的数据。写入指令序列、读取指令序列及抹除指令序列可各别包括一或多个代码或指令码并且用以指示可复写式非易失性存储器模块406执行相对应的写入、读取及抹除等操作。在一范例实施例中,存储器管理电路502还可以下达其他类型的指令序列给可复写式非易失性存储器模块406以指示执行相对应的操作。
主机接口504是耦接至存储器管理电路502。存储器管理电路502可通过主机接口504与主机***11通信。主机接口504可用以接收与识别主机***11所传送的指令与数据。例如,主机***11所传送的指令与数据可通过主机接口504来传送至存储器管理电路502。此外,存储器管理电路502可通过主机接口504将数据传送至主机***11。在本范例实施例中,主机接口504是相容于SATA标准。然而,必须了解的是本发明不限于此,主机接口504亦可以是相容于PATA标准、IEEE 1394标准、PCI Express标准、USB标准、SD标准、UHS-I标准、UHS-II标准、MS标准、MMC标准、eMMC标准、UFS标准、CF标准、IDE标准或其他适合的数据传输标准。
存储器接口506是耦接至存储器管理电路502并且用以存取可复写式非易失性存储器模块406。也就是说,欲写入至可复写式非易失性存储器模块406的数据会经由存储器接口506转换为可复写式非易失性存储器模块406所能接受的格式。具体来说,若存储器管理电路502要存取可复写式非易失性存储器模块406,存储器接口506会传送对应的指令序列。例如,这些指令序列可包括指示写入数据的写入指令序列、指示读取数据的读取指令序列、指示抹除数据的抹除指令序列、以及用以指示各种存储器操作(例如,改变读取电压电平或执行垃圾回收操作等等)的相对应的指令序列。这些指令序列例如是由存储器管理电路502产生并且通过存储器接口506传送至可复写式非易失性存储器模块406。这些指令序列可包括一或多个信号,或是在总线上的数据。这些信号或数据可包括指令码或代码。例如,在读取指令序列中,会包括读取的辨识码、存储器地址等信息。
在一范例实施例中,存储器控制电路单元404还包括错误检查与校正电路508、缓冲存储器510与电源管理电路512。
错误检查与校正电路508是耦接至存储器管理电路502并且用以执行错误检查与校正操作以确保数据的正确性。具体来说,当存储器管理电路502从主机***11中接收到写入指令时,错误检查与校正电路508会为对应此写入指令的数据产生对应的错误更正码(error correcting code,ECC)和/或错误检查码(error detecting code,EDC),并且存储器管理电路502会将对应此写入指令的数据与对应的错误更正码和/或错误检查码写入至可复写式非易失性存储器模块406中。之后,当存储器管理电路502从可复写式非易失性存储器模块406中读取数据时会同时读取此数据对应的错误更正码和/或错误检查码,并且错误检查与校正电路508会依据此错误更正码和/或错误检查码对所读取的数据执行错误检查与校正操作。
缓冲存储器510是耦接至存储器管理电路502并且用以暂存来自于主机***11的数据与指令或来自于可复写式非易失性存储器模块406的数据。缓冲存储器510可以是静态随机存取存储器(Static Random Access Memory,SRAM)、或动态随机存取存储器(DynamicRandom Access Memory,DRAM)等,本发明并不加以限制。电源管理电路512是耦接至存储器管理电路502并且用以控制存储器存储装置10的电源。
在一范例实施例中,图4的可复写式非易失性存储器模块406亦称为快闪(flash)存储器模块,且存储器控制电路单元404亦称为用于控制快闪存储器模块的快闪存储器控制器。在一范例实施例中,图5的存储器管理电路502亦称为快闪存储器管理电路。
图6是根据本发明的一范例实施例所示出的管理可复写式非易失性存储器模块的示意图。请参照图6,存储器管理电路502可将可复写式非易失性存储器模块406的实体单元610(0)~610(B)逻辑地分组至存储区601与闲置区602。存储区601中的实体单元610(0)~610(A)以及闲置区602中的实体单元610(A+1)~610(B)是用以存储来自于主机***11的数据。具体来说,存储区601的实体单元是被视为已存储数据的实体单元,而闲置区602的实体单元是用以替换存储区601的实体单元。也就是说,当从主机***11接收到写入指令与欲写入的数据时,存储器管理电路502会使用从闲置区602中提取实体单元来写入数据,以替换存储区601的实体单元。
在本范例实施例中,每一个实体单元是指一个实体抹除单元。然而,在另一范例实施例中,一个实体单元亦可以是指一个实体地址、一个实体程序化单元或由多个连续或不连续的实体地址组成。存储器管理电路502会配置逻辑单元612(0)~612(C)以映射存储区601中的实体单元610(0)~610(A)。在本范例实施例中,每一个逻辑单元是指一个逻辑地址。然而,在另一范例实施例中,一个逻辑单元也可以是指一个逻辑程序化单元、一个逻辑抹除单元或者由多个连续或不连续的逻辑地址组成。此外,逻辑单元612(0)~612(C)中的每一者可被映射至一或多个实体单元。
存储器管理电路502可将逻辑单元与实体单元之间的映射关系(亦称为逻辑-实体地址映射关系)记录于至少一逻辑-实体地址映射表。当主机***11欲从存储器存储装置10读取数据或写入数据至存储器存储装置10时,存储器管理电路502可根据此逻辑-实体地址映射表来执行对于存储器存储装置10的数据存取操作。
在一范例实施例中,可复写式非易失性存储器模块406可配置一或多个存储器单元,每个存储器单元是通过独立的数据输入输出总线(Data input/output(I/O)bus)与存储器管理电路502耦接。在本范例实施例中,每个存储器单元可包括一或多个存储器晶粒,并且每一存储器晶粒具有多个实体单元。换言之,每个存储器晶粒会经由其中一条数据输入输出总线与存储器管理电路502耦接。
一般来说,写入数据至实体单元的程序可区分为指令与数据传输(transfer)以及数据程序化(program)两个部分。当欲在存储器晶粒的实体单元中存储数据时,存储器管理电路502会先将指令与数据传输至存储器晶粒内的缓冲区中。之后,存储器晶粒会将缓冲区中的数据程序化(写入)至实体单元中。在存储器管理电路502传输数据至存储器晶粒的期间,存储器晶粒是处于传输状态。并且,当数据被程序化至实体单元的期间,存储器晶粒是处于忙碌(busy)状态。
为了提升存储器存储装置的数据写入速度,存储器存储装置10会配置多个存储器晶粒并且以交错(interleave)模式与平行(parallel)模式来写入数据。举例来说,以配置经由同一条数据输入输出总线与存储器管理电路502耦接的第一存储器晶粒以及第二存储器晶粒的可复写式非易失性存储器模块406为例,第一存储器晶粒以及第二存储器晶粒属于同一存储器单元。当主机***11欲以交错模式在存储器存储装置10中存储多笔数据时,存储器管理电路502可将其中一笔数据(例如,对应一个实体单元的数据)传输至第一存储器晶粒。之后,在第一存储器晶粒处于忙碌状态时,存储器管理电路502可将另一笔数据传输至第二存储器晶粒。由此交错地将数据传输至第一存储器晶粒与第二存储器晶粒,从而缩短数据写入的时间。此外,由于在可复写式非易失性存储器模块406中每一存储器单元是通过独立的数据输入输出总线与存储器管理电路502耦接,因此在平行模式中存储器管理电路502可同时经由多条数据输入输出总线来传输写入数据至多个存储器单元,从而提升数据写入速度。也就是说,存储器管理电路502会将欲传输至不同存储器单元的数据分别通过耦接每个存储器单元的数据输入输出总线来同时传输与写入。
值得注意的是,可复写式非易失性存储器模块406中不同的存储器单元可因为设计需求而具有不同晶粒数量的存储器晶粒。以QLC NAND型快闪存储器模块为例,QLC NAND型快闪存储器模块的单个存储器晶粒的容量可达到1.33TB。然而,市面上快闪存储器或其他存储装置的存储器容量基本采用2的幂次方计算,如256GB、512GB、1TB等。对于QLC NAND型快闪存储器模块来说,势必会挂载奇数个存储器晶粒来符合基本存储器容量。举例来说,存储器容量为4TB的快闪存储器可包括三个存储器晶粒。当三个存储器晶粒中的两个以同一条数据输入输出总线与存储器管理电路502耦接时,将造成剩下的一个存储器晶粒独自以一条数据输入输出总线与存储器管理电路502耦接,使得不同的存储器单元中具有不同晶粒数量的存储器晶粒。在1本范例实施例中,可复写式非易失性存储器模块406中至少一个存储器单元具有的存储器晶粒的晶粒数量与其他存储器单元具有的存储器晶粒的晶粒数量不同。
图7是根据本发明的一范例实施例所示出的存储器管理电路与多个存储器单元的示意图。本范例实施例的可复写式非易失性存储器模块406具有三个存储器晶粒,即存储器晶粒的总数为奇数个。为方便说明,后续将以可复写式非易失性存储器模块406包括三个存储器晶粒为实施例进行说明。然而,不同实施例中也可以依据需求而将可复写式非易失性存储器模块406包括存储器晶粒的总数设计为五个、七个或更多个,或设计其他不同数量的存储器晶粒以同一条数据输入输出总线与存储器管理电路502耦接,本发明并不限制存储器晶粒的晶粒数量。
请参照图7,可复写式非易失性存储器模块406具有存储器单元70-0以及存储器单元70-1。在本范例实施例中,存储器单元70-0具有存储器晶粒71-0以及存储器晶粒71-1,存储器单元70-1具有存储器晶粒71-2。换言之,存储器单元70-0与存储器单元70-1具有的存储器晶粒的晶粒数量不相同。
在本范例实施例中,存储器单元70-0经由数据输入输出总线72-0与存储器管理电路502耦接,存储器单元70-1经由输入输出总线72-1与存储器管理电路502耦接。存储器管理电路502分别通过数据输入输出总线传输数据给存储器单元70-0、70-1或从存储器单元70-0、70-1中接收数据。具体来说,存储器管理电路502经由数据输入输出总线72-0将指令与数据传输至存储器晶粒71-0以及存储器晶粒71-1,并经由数据输入输出总线72-1将指令与数据传输至存储器晶粒71-2。
在一范例实施例中,存储器管理电路502可将每一存储器晶粒中的实体单元群组为多个超实体单元并且以超实体单元为单位来进行管理。例如,图8是根据本发明的一范例实施例所示出的超实体单元的示意图。请参照图7与图8,存储器管理电路502会将存储器晶粒71-0的实体单元700(0)~700(N)、存储器晶粒71-1的实体单元701(0)~701(N)以及存储器晶粒71-2的实体单元702(0)~702(N)分别分组为超实体单元710(0)~710(N)。在本范例实施例中,存储器管理电路502可使用平行模式与交错模式来提升存取数据的速度。亦即,当欲对一个超实体单元进行写入时,由于超实体单元是由属于不同存储器单元的实体单元所组成,因此在平行模式中存储器管理电路502会将对应不同实体单元的数据分别地通过多条数据输入输出总线(例如,图7所示的数据输入输出总线72-0与数据输入输出总线72-1)来同时传输与写入。
再者,由于存储器单元70-0包括两个存储器晶粒,因此存储器管理电路502可将数据交错地传输至存储器单元70-0内的两个存储器晶粒71-0~71-1来提升数据写入的速度。然而,存储器单元70-1只具有单个存储器晶粒,无法以交错模式来与另一个存储器晶粒进行交错。因此在程序化存储器晶粒71-2中的实体单元时,存储器管理电路502必须等待存储器晶粒71-2回复准备好(ready)才可以继续程序化存储器晶粒71-2中的下一个实体单元。此将造成存储器单元70-0与存储器单元70-1的数据写入速度不一致,影响存储器存储装置10整体的写入效率。
在一范例实施例中,存储器管理电路502可检测每个存储器单元的数据写入速度。此数据写入速度例如是单位时间传输的数据量。并且,存储器管理电路502可依据每个存储器单元的晶粒数量决定每个存储器单元的初始写入量。具体来说,存储器管理电路502可依据每个存储器单元的晶粒数量决定存储器单元之间的一写入比例,并依据写入比例以及写入单位分别计算此些存储器单元的初始写入量。此写入单位例如为一个实体单元,本发明不在此限制。
在本范例实施例中,存储器管理电路502可依据存储器单元的数据写入速度以及存储器单元的初始写入量计算补偿数据量。举例来说,假设存储器单元有N个,存储器管理电路502例如是利用方程序(1)计算分别对应每一存储器单元的补偿数据量:
在上述方程序中,A、B、...、N表示存储器单元A~N各自的初始写入量,ΔA、ΔB、...、ΔN表示存储器单元A~N各自的补偿数据量,VA、VB、...、VN表示存储器单元A~N的各自数据写入速度。换言之,本范例实施例中,各个存储器单元的初始写入量与对应至此存储器单元的补偿数据量的总和除以此存储器单元的数据写入速度所获得的数值皆相同。
之后,存储器管理电路502可依据初始写入量以及补偿数据量将对应写入指令的写入数据写入至存储器单元。详细而言,存储器管理电路502依据数据写入顺序,将写入数据中对应各存储器单元的初始写入量以及补偿数据量的总和的数据,经由与该存储器单元耦接的数据输入输出总线传输至该存储器单元。并且,存储器单元将接收到的数据写入至存储器晶粒的实体单元中。如此一来,通过即时计算出的补偿数据量,能够让数据写入速度较快的存储器单元所耦接的数据输入输出总线传输较多的数据到该存储器单元,从而提升存储器存储装置10整体的数据写入效能。
举例来说,图9是根据本发明的一范例实施例所示出的对应写入指令的实体单元的范例。图9中的存储器单元70-0(亦称为第一存储器单元)以及存储器单元70-1(亦称为第二存储器单元)分别对应图7中的存储器单元70-0以及存储器单元70-1。请先参照图7,图7中的存储器单元70-0具有两个存储器晶粒71-0、71-1,存储器单元70-1具有一个存储器晶粒71-2。亦即,存储器单元70-0对应的晶粒数量(亦称为第一晶粒数量)为两个,存储器单元70-1对应的晶粒数量(亦称为第二晶粒数量)为一个,即第一晶粒数量大于第二晶粒数量。存储器管理电路502可决定存储器单元70-0与存储器单元70-1之间的写入比例为2∶1。在本范例实施例中,存储器管理电路502依据写入比例以及写入单元计算存储器单元70-0的初始写入量(亦称为第一初始写入量)为两个写入单位的数据量,并计算存储器单元70-1的初始写入量(亦称为第二初始写入量)为一个写入单位的数据量。
在本范例实施例中,在计算出存储器单元70-0与存储器单元70-1的初始写入量之后,存储器管理电路502可依据存储器单元70-0的数据写入速度(亦称为第一数据写入速度)与第一初始写入量,以及存储器单元70-1的数据写入速度(亦称为第二数据写入速度)与第二初始写入量,利用方程序(2)计算分别对应存储器单元70-0以及存储器单元70-1的补偿数据量:
其中A表示存储器单元70-0的初始写入量,ΔA表示存储器单元70-0的补偿数据量,VA表示存储器单元70-0的数据写入速度,B表示存储器单元70-1的初始写入量,ΔB表示存储器单元70-1的补偿数据量,VB表示存储器单元70-1的数据写入速度。
方程序(2)通过计算可求得ΔA以及ΔB。在本范例实施例中,假设A为两个写入单位的数据量,B为一个写入单位的数据量。假如检测到的VA为VB的两倍,则存储器管理电路502将A、B、VA、VB代入方程序(2)可求得的ΔA例如为两个写入单位的数据量,ΔB例如为零。于此,存储器管理电路502可依据写入顺序,将写入数据中对应存储器单元70-0的第一初始写入量以及第一补偿数据量的总和,即,四个写入单位的数据(亦称为第一数据),经由数据输入输出总线72-0传输至存储器单元70-0之后,经由数据输入输出总线72-1来传输一个写入单位(即,第二初始写入量)的写入数据至存储器单元70-1。于此,由于ΔB为零,因此存储器单元70-1没有对应的补偿数据量。例如,假设此写入单位为一个实体单元,则存储器管理电路502经由数据输入输出总线72-0传输四个实体单元的数据至存储器单元70-0之后,经由数据输入输出总线72-1传输一个实体单元的数据至存储器单元70-1。参照图9,存储器单元70-0将接收到的数据依序写入至实体单元700(0)、701(0)、700(1)、701(1),存储器单元70-1将接收到的数据依序写入至实体单元702(0)。在传输上述五个实体单元的数据之后,存储器管理电路502再次依序经由数据输入输出总线72-0传输四个实体单元的数据至存储器单元70-0,并经由数据输入输出总线72-1传输一个实体单元的数据至存储器单元70-1,以此类推。参照图9,存储器单元70-0将接收到的数据依序写入至实体单元700(2)、701(2)、700(3)、701(3),存储器单元70-1将接收到的数据依序写入至实体单元702(1)。
需说明的是,依据不同的写入顺序,存储器管理电路502也可以是先经由数据输入输出总线72-1来传输一个写入单位的写入数据至存储器单元70-1,再经由数据输入输出总线72-0来传输四个写入单位的写入数据至存储器单元70-0,本发明不在此限制。
在一范例实施例中,存储器管理电路502依据存储器单元的晶粒数量决定写入存储器单元的数据的类型。例如,存储器管理电路502可将需要经常存取的逻辑-实体地址映射表存储在晶粒数量较多的存储器单元中。参照图7,存储器管理电路502可将逻辑-实体地址映射表存储在存储器单元70-0中。
在一范例实施例中,存储器管理电路502依据存储器单元的晶粒数量决定对存储器单元执行垃圾回收操作的优先顺序。例如,存储器管理电路502可优先对晶粒数量较多的存储器单元执行垃圾回收操作。参照图7,存储器管理电路502可优先对存储器单元70-0执行垃圾回收操作。
图10是根据本发明的一范例实施例所示出的数据存储分配方法的流程图。在步骤S1002中,自主机***接收写入指令。在步骤S1004中,检测多个存储器单元的多个数据写入速度。在步骤S1006中,依据各存储器单元的晶粒数量决定对应各存储器单元的初始写入量。在步骤S1008中,依据多个数据写入速度以及各存储器单元的初始写入量计算至少一补偿数据量。在步骤S1010中,依据初始写入量以及至少一补偿数据量将对应写入指令的写入数据写入至多个存储器单元。
然而,图10中各步骤已详细说明如上,在此便不再赘述。值得注意的是,图10中各步骤可以实作为多个代码或是电路,本发明不加以限制。此外,图10的方法可以搭配以上范例实施例使用,也可以单独使用,本发明不加以限制。
综上所述,本范例实施例提出的数据存储分配方法、存储器存储装置及存储器控制电路单元,能够依据存储器单元的数据写入速度与晶粒数量决定补偿数据量,并额外传输对应补偿数据量的数据至存储器单元。通过传输较多数据给数据写入速度较快的存储器单元,可使得每个存储器单元中的存储器晶粒同时处于忙碌状态。藉此,可即时平衡每个存储器单元的写入数据量,进而提高存储器存储装置的数据写入效率。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。

Claims (24)

1.一种数据存储分配方法,用于存储器存储装置,其中所述存储器存储装置具有存储器控制电路单元以及可复写式非易失性存储器模块,所述可复写式非易失性存储器模块包括多个存储器单元,且所述数据存储分配方法包括:
自主机***接收写入指令;
检测所述多个存储器单元的多个数据写入速度,其中各所述多个存储器单元具有晶粒数量的存储器晶粒,且经由多个数据输入输出总线的其中一个耦接至所述存储器控制电路单元;
依据各所述多个存储器单元的所述晶粒数量决定各所述多个存储器单元的初始写入量;
依据所述多个数据写入速度以及各所述多个存储器单元的所述初始写入量计算至少一补偿数据量;以及
依据各所述多个存储器单元的所述初始写入量以及所述至少一补偿数据量将对应所述写入指令的写入数据写入至所述多个存储器单元,
其中至少一所述多个存储器单元的所述晶粒数量与其他所述多个存储器单元的所述晶粒数量不同。
2.根据权利要求1所述的数据存储分配方法,其中依据各所述多个存储器单元的所述晶粒数量决定各所述多个存储器单元的所述初始写入量的步骤包括:
依据各所述多个存储器单元的所述晶粒数量决定所述多个存储器单元之间的写入比例;以及
依据所述写入比例以及写入单位计算各所述多个存储器单元的所述初始写入量。
3.根据权利要求1所述的数据存储分配方法,其中各所述多个存储器单元的所述初始写入量与对应至各所述多个存储器单元的所述补偿数据量的总和除以各所述多个存储器单元的所述数据写入速度所获得的数值皆相同。
4.根据权利要求1所述的数据存储分配方法,其中依据各所述多个存储器单元的所述初始写入量以及所述至少一补偿数据量将对应所述写入指令的写入数据写入至所述多个存储器单元的步骤包括:
将所述写入数据中对应所述多个存储器单元中的第一存储器单元的第一初始写入量以及第一补偿数据量的总和的第一数据,经由与所述第一存储器单元耦接的第一数据输入输出总线传输至所述第一存储器单元。
5.根据权利要求1所述的数据存储分配方法,其中所述方法还包括:
检测所述多个存储器单元中第一存储器单元的第一数据写入速度以及第二存储器单元的第二数据写入速度,其中所述第一存储器单元具有的存储器晶粒的第一晶粒数量大于所述第二存储器单元具有的存储器晶粒的第二晶粒数量;
依据所述第一晶粒数量决定所述第一存储器单元的第一初始写入量,并依据所述第二晶粒数量决定所述第二存储器单元的第二初始写入量;
依据所述第一数据写入速度、所述第二数据写入速度、所述第一初始写入量以及所述第二初始写入量计算所述至少一补偿数据量;以及
依据所述第一初始写入量以及所述至少一补偿数据量将所述写入数据传输至所述第一存储器单元。
6.根据权利要求5所述的数据存储分配方法,其中所述方法还包括:
在依据所述第一初始写入量以及所述至少一补偿数据量将所述写入数据传输至所述第一存储器单元之后,依据所述第二初始写入量将所述写入数据传输至所述第二存储器单元。
7.根据权利要求1所述的数据存储分配方法,其中所述可复写式非易失性存储器模块为四阶存储单元NAND型快闪存储器模块。
8.根据权利要求1所述的数据存储分配方法,其中所述方法还包括:
依据各所述多个存储器单元的所述晶粒数量决定写入各所述多个存储器单元的数据的类型或对各所述多个存储器单元执行垃圾回收操作的优先顺序。
9.一种存储器存储装置,包括:
连接接口单元,用以耦接至主机***;
可复写式非易失性存储器模块,其中所述可复写式非易失性存储器模块包括多个存储器单元;以及
存储器控制电路单元,耦接至所述连接接口单元与所述可复写式非易失性存储器模块,
其中所述存储器控制电路单元用以自所述主机***接收写入指令,
所述存储器控制电路单元更用以检测所述多个存储器单元的多个数据写入速度,其中各所述多个存储器单元具有一晶粒数量的存储器晶粒,且经由多个数据输入输出总线的其中一个耦接至所述存储器控制电路单元,
所述存储器控制电路单元更用以依据各所述多个存储器单元的所述晶粒数量决定各所述多个存储器单元的初始写入量,
所述存储器控制电路单元更用以依据所述多个数据写入速度以及各所述多个存储器单元的所述初始写入量计算至少一补偿数据量,并且
所述存储器控制电路单元更用以依据各所述多个存储器单元的所述初始写入量以及所述至少一补偿数据量将对应所述写入指令的写入数据写入至所述多个存储器单元,
其中至少一所述多个存储器单元的所述晶粒数量与其他所述多个存储器单元的所述晶粒数量不同。
10.根据权利要求9所述的存储器存储装置,其中所述存储器控制电路单元更用以依据各所述多个存储器单元的所述晶粒数量决定所述多个存储器单元之间的写入比例,并且
所述存储器控制电路单元更用以依据所述写入比例以及写入单位计算各所述多个存储器单元的所述初始写入量。
11.根据权利要求9所述的存储器存储装置,其中各所述多个存储器单元的所述初始写入量与对应至各所述多个存储器单元的所述补偿数据量的总和除以各所述多个存储器单元的所述数据写入速度所获得的数值皆相同。
12.根据权利要求9所述的存储器存储装置,其中所述存储器控制电路单元更用以将所述写入数据中对应所述多个存储器单元中的第一存储器单元的第一初始写入量以及第一补偿数据量的总和的第一数据,经由与所述第一存储器单元耦接的第一数据输入输出总线传输至所述第一存储器单元。
13.根据权利要求9所述的存储器存储装置,其中所述存储器控制电路单元更用以检测所述多个存储器单元中第一存储器单元的第一数据写入速度以及第二存储器单元的第二数据写入速度,其中所述第一存储器单元具有的存储器晶粒的第一晶粒数量大于所述第二存储器单元具有的存储器晶粒的第二晶粒数量,
所述存储器控制电路单元更用以依据所述第一晶粒数量决定所述第一存储器单元的第一初始写入量,并依据所述第二晶粒数量决定所述第二存储器单元的第二初始写入量,
所述存储器控制电路单元更用以依据所述第一数据写入速度、所述第二数据写入速度、所述第一初始写入量以及所述第二初始写入量计算所述至少一补偿数据量,并且
所述存储器控制电路单元更用以依据所述第一初始写入量以及所述至少一补偿数据量将所述写入数据传输至所述第一存储器单元。
14.根据权利要求13所述的存储器存储装置,其中所述存储器控制电路单元更用以在依据所述第一初始写入量以及所述至少一补偿数据量将所述写入数据传输至所述第一存储器单元之后,依据所述第二初始写入量将所述写入数据传输至所述第二存储器单元。
15.根据权利要求9所述的存储器存储装置,其中所述可复写式非易失性存储器模块为四阶存储单元NAND型快闪存储器模块。
16.根据权利要求9所述的存储器存储装置,其中所述存储器控制电路单元更用以依据各所述多个存储器单元的所述晶粒数量决定写入各所述多个存储器单元的数据的类型或对各所述多个存储器单元执行垃圾回收操作的优先顺序。
17.一种存储器控制电路单元,用于控制可复写式非易失性存储器模块,其中所述可复写式非易失性存储器模块包括多个存储器单元,其中所述存储器控制电路单元包括:
主机接口,用以耦接至主机***;
存储器接口,用以耦接至所述可复写式非易失性存储器模块;以及
存储器管理电路,耦接至所述主机接口与所述存储器接口,
其中所述存储器管理电路用以自所述主机***接收写入指令,
所述存储器管理电路更用以检测所述多个存储器单元的多个数据写入速度,其中各所述多个存储器单元具有一晶粒数量的存储器晶粒,且经由多个数据输入输出总线的其中一个耦接至所述存储器控制电路单元,
所述存储器管理电路更用以依据各所述多个存储器单元的所述晶粒数量决定各所述多个存储器单元的初始写入量,
所述存储器管理电路更用以依据所述多个数据写入速度以及各所述多个存储器单元的所述初始写入量计算至少一补偿数据量,并且
所述存储器管理电路更用以依据各所述多个存储器单元的所述初始写入量以及所述至少一补偿数据量将对应所述写入指令的写入数据写入至所述多个存储器单元,
其中至少一所述多个存储器单元的所述晶粒数量与其他所述多个存储器单元的所述晶粒数量不同。
18.根据权利要求17所述的存储器控制电路单元,其中所述存储器管理电路更用以依据各所述多个存储器单元的所述晶粒数量决定所述多个存储器单元之间的写入比例,并且
所述存储器管理电路更用以依据所述写入比例以及写入单位计算各所述多个存储器单元的所述初始写入量。
19.根据权利要求17所述的存储器控制电路单元,其中各所述多个存储器单元的所述初始写入量与对应至各所述多个存储器单元的所述补偿数据量的总和除以各所述多个存储器单元的所述数据写入速度所获得的数值皆相同。
20.根据权利要求17所述的存储器控制电路单元,其中所述存储器管理电路更用以将所述写入数据中对应所述多个存储器单元中的第一存储器单元的第一初始写入量以及第一补偿数据量的总和的第一数据,经由与所述第一存储器单元耦接的第一数据输入输出总线传输至所述第一存储器单元。
21.根据权利要求17所述的存储器控制电路单元,其中所述存储器管理电路更用以检测所述多个存储器单元中第一存储器单元的第一数据写入速度以及第二存储器单元的第二数据写入速度,其中所述第一存储器单元具有的存储器晶粒的第一晶粒数量大于所述第二存储器单元具有的存储器晶粒的第二晶粒数量,
所述存储器管理电路更用以依据所述第一晶粒数量决定所述第一存储器单元的第一初始写入量,并依据所述第二晶粒数量决定所述第二存储器单元的第二初始写入量,
所述存储器管理电路更用以依据所述第一数据写入速度、所述第二数据写入速度、所述第一初始写入量以及所述第二初始写入量计算所述至少一补偿数据量,并且
所述存储器管理电路更用以依据所述第一初始写入量以及所述至少一补偿数据量将所述写入数据传输至所述第一存储器单元。
22.根据权利要求21所述的存储器控制电路单元,其中所述存储器管理电路更用以在依据所述第一初始写入量以及所述至少一补偿数据量将所述写入数据传输至所述第一存储器单元之后,依据所述第二初始写入量将所述写入数据传输至所述第二存储器单元。
23.根据权利要求17所述的存储器控制电路单元,其中所述可复写式非易失性存储器模块为四阶存储单元NAND型快闪存储器模块。
24.根据权利要求17所述的存储器控制电路单元,其中所述存储器管理电路更用以依据各所述多个存储器单元的所述晶粒数量决定写入各所述多个存储器单元的数据的类型或对各所述多个存储器单元执行垃圾回收操作的优先顺序。
CN202111395837.7A 2021-11-23 2021-11-23 数据存储分配方法、存储器存储装置及控制电路单元 Active CN114115737B (zh)

Priority Applications (3)

Application Number Priority Date Filing Date Title
CN202111395837.7A CN114115737B (zh) 2021-11-23 2021-11-23 数据存储分配方法、存储器存储装置及控制电路单元
TW110145080A TWI818370B (zh) 2021-11-23 2021-12-02 資料儲存分配方法、記憶體儲存裝置及記憶體控制電路單元
US17/555,487 US11822798B2 (en) 2021-11-23 2021-12-19 Data storing allocation method, memory storage apparatus and memory control circuit unit

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111395837.7A CN114115737B (zh) 2021-11-23 2021-11-23 数据存储分配方法、存储器存储装置及控制电路单元

Publications (2)

Publication Number Publication Date
CN114115737A CN114115737A (zh) 2022-03-01
CN114115737B true CN114115737B (zh) 2024-02-02

Family

ID=80440281

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111395837.7A Active CN114115737B (zh) 2021-11-23 2021-11-23 数据存储分配方法、存储器存储装置及控制电路单元

Country Status (3)

Country Link
US (1) US11822798B2 (zh)
CN (1) CN114115737B (zh)
TW (1) TWI818370B (zh)

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102193747A (zh) * 2010-03-03 2011-09-21 群联电子股份有限公司 数据写入方法、可复写式非易失性存储器控制器及***
CN106681932A (zh) * 2016-11-14 2017-05-17 合肥兆芯电子有限公司 存储器管理方法、存储器控制电路单元及存储器存储装置
US9811273B1 (en) * 2014-12-23 2017-11-07 Cadence Design Systems, Inc. System and method for reliable high-speed data transfer in multiple data rate nonvolatile memory
CN107845394A (zh) * 2016-09-19 2018-03-27 三星电子株式会社 存储装置及其操作方法
CN110096228A (zh) * 2019-03-29 2019-08-06 联想(北京)有限公司 数据存储方法、数据存储装置和数据存储***
CN111338977A (zh) * 2018-12-18 2020-06-26 西部数据技术公司 具有数据整形存储器分区的非易失性存储***
CN111610937A (zh) * 2020-05-26 2020-09-01 群联电子股份有限公司 数据写入方法、存储器存储装置及存储器控制电路单元
CN111984186A (zh) * 2019-05-23 2020-11-24 爱思开海力士有限公司 装置及其操作方法
CN112199038A (zh) * 2019-07-08 2021-01-08 爱思开海力士有限公司 基于i/o吞吐量确定缓冲器使用的存储器***及其操作方法

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7191207B2 (en) * 2003-06-11 2007-03-13 International Business Machines Corporation Apparatus and method to dynamically allocate bandwidth in a data storage and retrieval system
US7822912B2 (en) * 2005-03-14 2010-10-26 Phision Electronics Corp. Flash storage chip and flash array storage system
JP4472010B2 (ja) * 2006-08-09 2010-06-02 株式会社日立超エル・エス・アイ・システムズ 記憶装置
US7596643B2 (en) * 2007-02-07 2009-09-29 Siliconsystems, Inc. Storage subsystem with configurable buffer
TWI349284B (en) * 2007-08-31 2011-09-21 Phison Electronics Corp Flash storeage chip and flash array storage system
TW201009577A (en) * 2008-08-27 2010-03-01 Phison Electronics Corp Data transfer method for flash memory and flash memory storage system and controller using the same
TWI479491B (zh) * 2011-07-05 2015-04-01 Phison Electronics Corp 記憶體控制方法、記憶體控制器與記憶體儲存裝置
US9064579B2 (en) * 2012-07-16 2015-06-23 Kabushiki Kaisha Toshiba Semiconductor memory apparatus, data transmission device, and recording method
TWI559141B (zh) * 2013-01-31 2016-11-21 群聯電子股份有限公司 資料寫入方法、記憶體控制器與記憶體儲存裝置
KR102253592B1 (ko) * 2014-12-23 2021-05-18 삼성전자주식회사 초기 문턱 전압 분포 변화를 보상할 수 있는 데이터 저장 장치, 이의 작동 방법, 및 이를 포함하는 데이터 처리 시스템
KR102427262B1 (ko) * 2015-09-11 2022-08-01 삼성전자주식회사 랜덤 액세스 메모리 장치들 및 불휘발성 메모리 장치들을 포함하는 저장 장치
TWI649653B (zh) * 2017-08-30 2019-02-01 群聯電子股份有限公司 資料儲存方法、記憶體儲存裝置及記憶體控制電路單元
US10732838B2 (en) * 2017-11-29 2020-08-04 Western Digital Technologies, Inc. Logical grouping for hybrid dual write
TWI751482B (zh) * 2020-01-22 2022-01-01 宏碁股份有限公司 資料寫入方法及儲存控制器
TWI738442B (zh) * 2020-07-29 2021-09-01 慧榮科技股份有限公司 資料儲存裝置與資料處理方法

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102193747A (zh) * 2010-03-03 2011-09-21 群联电子股份有限公司 数据写入方法、可复写式非易失性存储器控制器及***
US9811273B1 (en) * 2014-12-23 2017-11-07 Cadence Design Systems, Inc. System and method for reliable high-speed data transfer in multiple data rate nonvolatile memory
CN107845394A (zh) * 2016-09-19 2018-03-27 三星电子株式会社 存储装置及其操作方法
CN106681932A (zh) * 2016-11-14 2017-05-17 合肥兆芯电子有限公司 存储器管理方法、存储器控制电路单元及存储器存储装置
CN111338977A (zh) * 2018-12-18 2020-06-26 西部数据技术公司 具有数据整形存储器分区的非易失性存储***
CN110096228A (zh) * 2019-03-29 2019-08-06 联想(北京)有限公司 数据存储方法、数据存储装置和数据存储***
CN111984186A (zh) * 2019-05-23 2020-11-24 爱思开海力士有限公司 装置及其操作方法
CN112199038A (zh) * 2019-07-08 2021-01-08 爱思开海力士有限公司 基于i/o吞吐量确定缓冲器使用的存储器***及其操作方法
CN111610937A (zh) * 2020-05-26 2020-09-01 群联电子股份有限公司 数据写入方法、存储器存储装置及存储器控制电路单元

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
CH378主机方式USB存储设备写入速度提升方法研究;李爱佳;崔建峰;邓泽平;刘慧丰;;电子器件(第02期);210-214 *

Also Published As

Publication number Publication date
US11822798B2 (en) 2023-11-21
TWI818370B (zh) 2023-10-11
TW202321925A (zh) 2023-06-01
CN114115737A (zh) 2022-03-01
US20230161489A1 (en) 2023-05-25

Similar Documents

Publication Publication Date Title
TWI688953B (zh) 記憶體管理方法、記憶體儲存裝置及記憶體控制電路單元
TWI650639B (zh) 記憶體管理方法、記憶體控制電路單元與記憶體儲存裝置
CN111258505B (zh) 快闪存储器的数据合并方法、控制电路单元与存储装置
CN111078146B (zh) 存储器管理方法、存储器存储装置及存储器控制电路单元
TWI717751B (zh) 資料寫入方法、記憶體控制電路單元及記憶體儲存裝置
US11609822B2 (en) Data storing method, memory control circuit unit and memory storage device
CN113140253B (zh) 存储器管理方法、存储器存储装置及存储器控制电路单元
CN112486417B (zh) 存储器控制方法、存储器存储装置及存储器控制电路单元
TWI760697B (zh) 記憶體之資料整理方法、記憶體儲存裝置及記憶體控制電路單元
US20220164133A1 (en) Memory control method, memory storage device and memory control circuit unit
CN114822664A (zh) 基于数据优先级的风险评估方法、存储装置及控制电路
CN114115737B (zh) 数据存储分配方法、存储器存储装置及控制电路单元
CN111831210B (zh) 存储器管理方法、存储器控制电路单元及存储器存储装置
US10884660B2 (en) Memory management method, memory storage device and memory control circuit unit
CN111583976A (zh) 数据写入方法、存储器控制电路单元以及存储器存储装置
CN117632039B (zh) 存储器管理方法、存储器存储装置及存储器控制电路单元
CN114333930B (zh) 多通道存储器存储装置、控制电路单元及其数据读取方法
CN117632040B (zh) 数据写入方法、存储器存储装置以及存储器控制电路单元
CN117632038B (zh) 损耗平衡方法、存储器存储装置及存储器控制电路单元
TWI813498B (zh) 資料讀取方法、記憶體儲存裝置及記憶體控制電路單元
CN117573208B (zh) 指令信息分配方法及存储器存储装置
CN113312274B (zh) 存储器的数据整理方法、存储器存储装置及控制电路单元
CN114115739B (zh) 存储器管理方法、存储器存储装置及存储器控制电路单元
CN116149572A (zh) 映射表更新方法、存储器存储装置及存储器控制电路单元
CN114708898A (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