CN117420966A - 物理地址的编址方法及闪存设备 - Google Patents

物理地址的编址方法及闪存设备 Download PDF

Info

Publication number
CN117420966A
CN117420966A CN202311744299.7A CN202311744299A CN117420966A CN 117420966 A CN117420966 A CN 117420966A CN 202311744299 A CN202311744299 A CN 202311744299A CN 117420966 A CN117420966 A CN 117420966A
Authority
CN
China
Prior art keywords
minimum unit
medium
physical
super
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.)
Granted
Application number
CN202311744299.7A
Other languages
English (en)
Other versions
CN117420966B (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.)
Shenzhen Dapu Microelectronics Co Ltd
Original Assignee
Shenzhen Dapu Microelectronics Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Shenzhen Dapu Microelectronics Co Ltd filed Critical Shenzhen Dapu Microelectronics Co Ltd
Priority to CN202311744299.7A priority Critical patent/CN117420966B/zh
Publication of CN117420966A publication Critical patent/CN117420966A/zh
Application granted granted Critical
Publication of CN117420966B publication Critical patent/CN117420966B/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/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0608Saving storage space on storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • G06F3/0644Management of space entities, e.g. partitions, extents, pools
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/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]

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Read Only Memory (AREA)
  • Memory System (AREA)

Abstract

本申请实施例涉及存储设备应用领域,公开了一种物理地址的编址方法及闪存设备,方法包括:获取第一介质最小单元的编号、第一介质最小单元所在的超级页的编号、第一介质最小单元所在的超级块的编号;将超级块的编号与超级页的编号,分别转换为第一偏移量、第二偏移量;根据第一介质最小单元的编号、第一偏移量与第二偏移量,确定第一物理最小单元地址。通过将第一介质最小单元所在的超级块的编号与超级页的编号,分别转换为第一偏移量、第二偏移量,结合第一介质最小单元的编号确定第一物理最小单元地址,本申请能够提高比特位的利用率,使得介质最小单元的物理地址对应的位宽小于PMA分区编址格式对应的位宽,节省闪存设备的内存空间。

Description

物理地址的编址方法及闪存设备
技术领域
本申请涉及存储设备应用领域,特别是涉及一种物理地址的编址方法及闪存设备。
背景技术
闪存设备,例如:固态硬盘(Solid State Drives,SSD),是采用固态电子存储芯片阵列而制成的硬盘,固态硬盘包括控制单元和存储单元(FLASH存储芯片或 DRAM存储芯片)。
目前,闪存设备的物理最小单元地址(Physical Minimum Unit Address,PMA)的编址格式通常采用分区方式,即根据盘片中总的超级块的数目、每个超级块中超级页的数目、每个超级页中介质最小单元的数目,对设定的编址格式的位宽进行分区。
在实现本申请过程中,发明人发现现有技术中至少存在如下问题:对于比特位的利用率较低,只能通过扩展位宽来容纳更多的PMA,这会占用更多的内存。
发明内容
本申请实施例提供一种物理地址的编址方法及闪存设备,以提高比特位的利用率,在设定的编址格式的位宽不变的情况下,表示更多的物理最小单元地址,从而节省闪存设备的内存空间。
本申请实施例提供以下技术方案:
第一方面,本申请实施例提供一种物理地址的编址方法,包括:
获取第一介质最小单元的编号、第一介质最小单元所在的超级页的编号、第一介质最小单元所在的超级块的编号;
将超级块的编号与超级页的编号,分别转换为第一偏移量、第二偏移量;
根据第一介质最小单元的编号、第一偏移量与第二偏移量,确定第一物理最小单元地址,其中,第一物理最小单元地址为第一介质最小单元的物理地址。
在一些实施例中,第一介质最小单元的编号为待编码的第一介质最小单元在超级页的偏移量;
第一偏移量为在超级块的编号之前的若干个超级块包含的介质最小单元的数量之和;
第二偏移量为在超级页的编号之前的若干个超级页包含的介质最小单元的数量之和。
在一些实施例中,将超级块的编号与超级页的编号,分别转换为第一偏移量、第二偏移量,包括:
确定第一数目与第二数目,其中,第一数目为一个超级块中介质最小单元的数目,第二数目为一个超级页中介质最小单元的数目;
将超级块的编号与第一数目相乘,得到第一偏移量;
将超级页的编号与第二数目相乘,得到第二偏移量。
在一些实施例中,根据第一介质最小单元的编号、第一偏移量与第二偏移量,确定第一物理最小单元地址,包括:
将第一介质最小单元的编号、第一偏移量与第二偏移量相加,得到第一物理最小单元地址。
在一些实施例中,第一物理最小单元地址通过下述公式计算得到:
其中,为第一物理最小单元地址,/>为第一介质最小单元的编号,为第二数目,/>为第一介质最小单元所在的超级页的编号,/>为第一数目,/>为第一介质最小单元所在的超级块的编号。
在一些实施例中,方法还包括:
获取第二物理最小单元地址,其中,第二物理最小单元地址为待解码的物理最小单元地址;
对第二物理最小单元地址进行解码,分别得到第二介质最小单元的编号、第二介质最小单元所在的超级页的编号、第二介质最小单元所在的超级块的编号,其中,第二介质最小单元为第二物理最小单元地址对应的介质最小单元;
根据第二介质最小单元的编号、第二介质最小单元所在的超级页的编号、第二介质最小单元所在的超级块的编号,对第二介质最小单元进行读写操作。
在一些实施例中,对第二物理最小单元地址进行解码,分别得到第二介质最小单元的编号、第二介质最小单元所在的超级页的编号、第二介质最小单元所在的超级块的编号,包括:
将第二物理最小单元地址与第二数目相除的余数,作为第二介质最小单元的编号。
在一些实施例中,对第二物理最小单元地址进行解码,分别得到第二介质最小单元的编号、第二介质最小单元所在的超级页的编号、第二介质最小单元所在的超级块的编号,包括:
将第二物理最小单元地址与第一数目相除,得到第一结果,并对第一结果进行向下取整,得到第二介质最小单元所在的超级块的编号。
在一些实施例中,对第二物理最小单元地址进行解码,分别得到第二介质最小单元的编号、第二介质最小单元所在的超级页的编号、第二介质最小单元所在的超级块的编号,包括:
将第二物理最小单元地址与第一数目相除的余数,作为第二结果;
将第二结果与第二数目相除得到第三结果,对第三结果进行向下取整,得到第二介质最小单元所在的超级页的编号。
第二方面,本申请实施例提供一种闪存设备,包括:
至少一个处理器;和
与至少一个处理器通信连接的存储器;其中,
存储器存储有可被至少一个处理器执行的指令,指令被至少一个处理器执行,以使至少一个处理器能够执行如第一方面的物理地址的编址方法。
第三方面,本申请实施例还提供了一种非易失性计算机可读存储介质,非易失性计算机可读存储介质存储有计算机可执行指令,当计算机可执行指令被处理器所执行时,使处理器执行如第一方面的物理地址的编址方法。
本申请实施例的有益效果是:区别于现有技术的情况下,本申请实施例提供的一种物理地址的编址方法,该物理地址的编址方法包括:获取第一介质最小单元的编号、第一介质最小单元所在的超级页的编号、第一介质最小单元所在的超级块的编号;将超级块的编号与超级页的编号,分别转换为第一偏移量、第二偏移量;根据第一介质最小单元的编号、第一偏移量与第二偏移量,确定第一物理最小单元地址,其中,第一物理最小单元地址为第一介质最小单元的物理地址。
通过将第一介质最小单元所在的超级块的编号与超级页的编号,分别转换为第一偏移量、第二偏移量,并结合第一介质最小单元的编号,确定第一物理最小单元地址,本申请能够提高比特位的利用率,使得每一介质最小单元的物理地址的位宽小于PMA分区编址格式对应的位宽,从而在设定的编址格式的位宽不变的情况下,表示更多的物理最小单元地址,进而节省闪存设备的内存空间。
附图说明
一个或多个实施例通过与之对应的附图中的图片进行示例性说明,这些示例性说明并不构成对实施例的限定,附图中具有相同参考数字标号的元件表示为类似的元件,除非有特别申明,附图中的图不构成比例限制。
图1是本申请实施例提供的一种闪存设备的结构示意图;
图2是本申请实施例提供的一种闪存颗粒的数据布局示意图;
图3是本申请实施例提供的一种PMA分区编址格式的示意图;
图4是本申请实施例提供的一种物理地址的编址方法的流程示意图;
图5是图4中的步骤S402的细化流程图;
图6是图4中的步骤S403的细化流程图;
图7是本申请实施例提供的一种确定第一物理最小单元地址的流程示意图;
图8是本申请实施例提供的一种对第二物理最小单元地址进行解码操作,以及对第二介质最小单元进行读写操作的流程示意图;
图9是本申请实施例提供的一种对第二物理最小单元地址进行解码操作的流程示意图;
图10是本申请实施例提供的另一种闪存设备的结构示意图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本申请,并不用于限定本申请。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
需要说明的是,如果不冲突,本申请实施例中的各个特征可以相互结合,均在本申请的保护范围之内。另外,虽然在装置示意图中进行了功能模块划分,在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于装置中的模块划分,或流程图中的顺序执行所示出或描述的步骤。再者,本申请所采用的“第一”、“第二”、“第三”等字样并不对数据和执行次序进行限定,仅是对功能和作用基本相同的相同项或相似项进行区分。
下面结合说明书附图具体说明本申请的技术方案:
请参阅图1,图1是本申请实施例提供的一种闪存设备的结构示意图;
如图1所示,闪存设备100包括连接器101、存储控制芯片102、其他外围单元103、缓存单元104和闪存介质105。
其中,连接器101,连接存储控制芯片102与主机,用于与主机通信,主机例如:计算机或者服务器;存储控制芯片102,连接连接器101、其他外围单元103、缓存单元104和闪存介质105,用于作为控制运算单元,管理闪存设备的内部系统,存储控制芯片102包括但不限于固态硬盘控制器;外围单元103,连接存储控制芯片102,包括串口、传感器、寄存器、电源芯片等部件;缓存单元104,连接存储控制芯片102,作为缓存、算法表存储单元,缓存单元104一般为动态随机存取存储器(Dynamic Random Access Memory,DRAM)。
其中,闪存介质105,作为闪存设备100的存储介质,也称作闪存、Flash、Flash存储器或Flash颗粒,作为存储单元,用于存储用户数据、系统数据等。存储控制芯片102与闪存介质105之间呈现多个通道,一个通道独立连接一个闪存介质,例如:通道0连接一个闪存介质、通道1连接一个闪存介质、……、通道x连接一个闪存介质。
请参阅图2,图2是本申请实施例提供的一种闪存颗粒的数据布局示意图;
在本申请实施例中,闪存设备根据逻辑层需要,对闪存颗粒进行抽象划分。
如图2所示,闪存颗粒在横向划分为:超级块(Super Block)、超级页(SuperPage),闪存颗粒在纵向划分为:裸片(DIE)、逻辑单元(Logical Unit Number,LUN)、芯片使能(Chip Enable,CE)、通道(Channel,CH)、平面(Plane)。
其中,超级块用于存储元数据信息,如文件系统的结构、索引等,一个超级块中有若干个超级页;超级页是一种特殊的页大小,它比普通页大,超级页的使用可以提高闪存的读取和写入性能,减少读取和写入操作的开销。
裸片是闪存芯片内部进行数据存储和操作的最小单元,每个裸片可以独立进行读取和写入操作,裸片号(DIE Number)为每一裸片的编号;逻辑单元是对闪存芯片进行逻辑划分的单位,逻辑单元号(LUN Number)为逻辑单元的编号;芯片使能用于启用或禁用闪存芯片的操作,芯片使能编号(CE Number)用于标识一个特定的闪存芯片;通道用于连接主机系统和闪存芯片,负责传输数据和控制信号,通道号(CH Number)为通道的编号;平面是闪存芯片内的存储平面,每个平面可以独立进行读取和写入操作,平面编号(Plane Number)为每一平面的编号。
在闪存颗粒中,一个物理页(Phy Page)包含多个介质最小单元(Minimum AddressUnit,MAU),例如:图2中一个物理页包含4个MAU。MAU对应的物理地址为物理最小单元地址(Physical Minimum Unit Address,PMA),PMA信息包含Super Block信息、Super Page信息和MAU信息。
随着闪存设备,例如SSD的发展,NAND厂商推出了各种各样的闪存颗粒,而这些颗粒中的Channel、CE、LUN、Block及Page等参数不尽相同,这对闪存转换层(FlashTranslation Layer,FTL)的PMA的编址格式造成了一定的影响。
目前,闪存设备的物理最小单元地址(Physical Minimum Unit Address,PMA)的编址格式通常采用分区方式,即根据盘片中总的超级块的数目、每个超级块中超级页的数目、每个超级页中介质最小单元的数目,对设定的编址格式的位宽进行分区,根据这种方式确定的PMA的编址格式又称为PMA分区编址格式。
具体的,请参阅图3,图3是本申请实施例提供的一种PMA分区编址格式的示意图;
如图3所示,PMA分区编址格式的位宽由超级块、超级页、介质最小单元各自需要占用的位宽组成。
具体的,PMA分区编址格式的位宽是预先设置的固定位宽,例如:PMA分区编址格式的位宽为32比特(bit),通过计算闪存设备中总的超级块的数目、每个超级块中超级页的数目、每个超级页中介质最小单元的数目,三者分别需要占用的位宽:X比特、Y比特、Z比特,对设定的编址格式的位宽,例如32bit进行分区。
然而,PMA分区编址格式对于比特位的利用率较低,只能通过扩展位宽来容纳更多的PMA,但这会占用更多的内存。
例如:当一个闪存设备中超级块的数目为271个,需要占用的位宽为9 bit;每个超级块中有4224个超级页,需要占用的位宽为13 bit;每个超级页中有2048个介质最小单元,需要占用的位宽为11bit时,按照PMA分区编址格式,三者总共需占用的位宽为bit,超出了一个U32的位宽(32bit),其中,U32指的是一个32位的无符号整数,用于表示闪存设备中的地址。
因此,在这种情况下需扩展1bit的位宽,才能容纳所有的PMA。由于此闪存设备总的PMA的数目(或者MAU的数目)为个,那么在不考虑字节对齐的情况下,所需要增加的内存为/>MB,若考虑到字节对齐的影响则需要增加的内存会更多。可以理解的是,由于PMA与MAU一一对应,所以PMA的数目与MAU的数目相同。
可以看出,PMA分区编址格式之所以不能充分利用位宽,主要是因为它将超级块、超级页和介质最小单元这三个信息分而治之,相互隔离。
基于此,本申请实施例提供一种物理地址的编址方法,通过将介质最小单元所在的超级页的编号与超级块的编号转换为偏移量,将超级块、超级页和介质最小单元这三个信息联系起来,从而确定物理地址,能够提高比特位的利用率,使得每一介质最小单元的物理地址对应的位宽小于PMA分区编址格式对应的位宽,从而在设定的编址格式的位宽不变的情况下,表示更多的物理最小单元地址,进而节省闪存设备的内存空间。
请参阅图4,图4是本申请实施例提供的一种物理地址的编址方法的流程示意图;
其中,该物理地址的编址方法,应用于闪存设备,例如:应用于固态硬盘。
如图4所示,该物理地址的编址方法,包括:
步骤S401:获取第一介质最小单元的编号、第一介质最小单元所在的超级页的编号、第一介质最小单元所在的超级块的编号;
具体的,第一介质最小单元为待编码的介质最小单元,即需要确定物理地址的介质最小单元;第一介质最小单元的编号为待编码的第一介质最小单元在超级页的偏移量,该偏移量用于确定待编码的介质最小单元在其所在的超级页的具体位置;第一介质最小单元所在的超级页的编号为待编码的介质最小单元所在的超级页,在同一个超级块内所有超级页中的顺序编号;第一介质最小单元所在的超级块的编号为待编码的介质最小单元所在的超级块,在所有超级块中的顺序编号。
其中,第一介质最小单元的编号、第一介质最小单元所在的超级页的编号、第一介质最小单元所在的超级块的编号均为非负整数,且介质最小单元的编号、超级页的编号、超级块的编号均从0开始。
例如:需要确定第K个超级块中第M个超级页内的第N个MAU对应的PMA时,第一介质最小单元的编号为N,第一介质最小单元所在的超级页的编号为M,第一介质最小单元所在的超级块的编号为K。
步骤S402:将超级块的编号与超级页的编号,分别转换为第一偏移量、第二偏移量;
具体的,第一偏移量为在第一介质最小单元所在的超级块的编号之前的,若干个超级块包含的介质最小单元的数量之和;第二偏移量为在第一介质最小单元所在的超级页的编号之前的,若干个超级页包含的介质最小单元的数量之和。
例如:第一介质最小单元所在的超级块的编号为K时,第一偏移量为编号0至K-1的K个超级块包含的MAU的数量之和;第一介质最小单元所在的超级页的编号为M时,第二偏移量为编号0至M-1的M个超级页包含的MAU的数量之和。
请参阅图5,图5是图4中的步骤S402的细化流程图;
如图5所示,步骤S402:将超级块的编号与超级页的编号,分别转换为第一偏移量、第二偏移量,包括:
步骤S421:确定第一数目与第二数目;
具体的,第一数目为一个超级块中介质最小单元的数目,第二数目为一个超级页中介质最小单元的数目。其中,第一数目=一个超级块中超级页的数目*第二数目,一个超级块中超级页的数目、一个超级页中介质最小单元的数目可由本领域技术人员根据实际使用的闪存设备确定,在本申请实施例中不做限制。
步骤S422:将超级块的编号与第一数目相乘,得到第一偏移量;
具体的,将第一介质最小单元所在的超级块的编号与第一数目相乘,得到第一偏移量。
例如:第一介质最小单元所在的超级块的编号为,第一数目为/>时,第一偏移量为/>,即第/>个超级块的MAU偏移量为/>
步骤S423:将超级页的编号与第二数目相乘,得到第二偏移量。
具体的,将第一介质最小单元所在的超级页的编号与第二数目相乘,得到第二偏移量。
例如:第一介质最小单元所在的超级页的编号为,第二数目为/>时,第二偏移量为/>,即第/>个超级页的MAU偏移量为/>
步骤S403:根据第一介质最小单元的编号、第一偏移量与第二偏移量,确定第一物理最小单元地址。
具体的,第一物理最小单元地址为第一介质最小单元的物理地址。
请参阅图6,图6是图4中的步骤S403的细化流程图;
如图6所示,步骤S403:根据第一介质最小单元的编号、第一偏移量与第二偏移量,确定第一物理最小单元地址,包括:
步骤S431:将第一介质最小单元的编号、第一偏移量与第二偏移量相加,得到第一物理最小单元地址。
具体的,第一物理最小单元地址通过下述编码公式计算得到:
其中,为第一物理最小单元地址,/>为第一介质最小单元的编号,为第二数目,/>为第一介质最小单元所在的超级页的编号,/>为第一数目,/>为第一介质最小单元所在的超级块的编号。
例如:当一个闪存设备中超级块的数目为271个,每个超级块中有4224个超级页,每个超级页中有2048个介质最小单元时,若要确定第100个超级块中的第200个超级页内的第300个MAU对应的PMA,则根据上述公式可得:
其中,865485100表示的是第100个超级块中的第200个超级页内的第300个MAU对应的偏移量,也就是说,在该MAU前面还有865485100个MAU。由于PMA表示的是MAU的物理位置,因此,865485100可以直接表示PMA,不需转换。
可以理解的是,由于PMA表示的是MAU的物理位置,即MAU所属的超级块、超级页以及MAU在超级页内的偏移,而每一个超级块、超级页中的MAU的数目是一定的,因此,可以将第一介质最小单元所在的超级块的编号、第一介质最小单元所在的超级页的编号分别转换为对应的MAU的个数,即上文中的第一偏移量、第二偏移量,然后将第一偏移量、第二偏移量与第一介质最小单元在其所在的超级页的偏移量(即第一介质最小单元的编号)相加,得到对应的PMA。
这样对于相邻的两个超级块中,相同位置的MAU对应的PMA的差值,仅为一个超级块包含的MAU的个数,同时,同一个超级块中相邻的两个超级页内相同位置的MAU对应的PMA的差值,仅为一个超级页包含的MAU的个数,不存空洞,因此可以充分利用位宽。
其中,对于相邻的两个超级块,相同位置指的是MAU在超级块中偏移相同的位置,即相同的偏移量,例如:超级块1中偏移量为100的MAU,与超级块2中偏移量为100的MAU,为相同位置的MAU,两个MAU对应的PMA的差值为一个超级块包含的MAU的个数。
在本申请实施例中,通过将第一介质最小单元所在的超级块的编号、第一介质最小单元所在的超级页的编号分别转换为第一偏移量、第二偏移量,并将第一偏移量、第二偏移量与第一介质最小单元的编号相加,得到第一物理最小单元地址,相比于现有方案中的PMA分区编址格式,本申请能够将超级块、超级页和介质最小单元这三个信息联系起来,充分利用比特位,由此得到的第一物理最小单元地址的编址格式更为紧凑,即每一介质最小单元的物理地址对应的位宽小于PMA分区编址格式对应的位宽,因此,本申请中的PMA编址格式可被称之为紧凑型编址格式。
例如:当一个闪存设备中超级块的数目为271个,每个超级块中有4224个超级页,每个超级页中有2048个介质最小单元时,按照PMA分区编址格式,需占用的位宽为bit,超出了一个U32的位宽(32bit),需扩展1bit的位宽,才能容纳所有的PMA,在不考虑字节对齐的情况下,所需要增加的内存为279MB。
当采用本申请中的紧凑型编址格式时,最大的PMA为:,用一个U32完全可以容纳,因此不需要扩展位宽,与PMA分区编址格式相比,能够节省约279MB的内存。
由此可见,本申请能够充分利用比特位,比特位利用率可达100%,每一介质最小单元的物理地址对应的位宽小于PMA分区编址格式对应的位宽,从而在设定的编址格式的位宽不变的情况下,本申请中的紧凑型编址格式能够表示更多的物理最小单元地址,进而节省闪存设备的内存空间。
请参阅图7,图7是本申请实施例提供的一种确定第一物理最小单元地址的流程示意图;
如图7所示,确定第一物理最小单元地址的流程,包括:
步骤S701:获取第一介质最小单元的编号、第一介质最小单元所在的超级页的编号、第一介质最小单元所在的超级块的编号;
具体的,该步骤与步骤S401相同,在此不再赘述。
步骤S702:确定第一数目与第二数目;
具体的,第一数目为一个超级块中介质最小单元的数目,第二数目为一个超级页中介质最小单元的数目。
步骤S703:根据编码公式计算第一物理最小单元地址;
具体的,根据下述编码公式计算第一物理最小单元地址:
其中,为第一物理最小单元地址,/>为第一介质最小单元的编号,为第二数目,/>为第一介质最小单元所在的超级页的编号,/>为第一数目,/>为第一介质最小单元所在的超级块的编号。
步骤S704:输出第一物理最小单元地址。
具体的,第一物理最小单元地址为第一介质最小单元的物理地址,即已编码的PMA。
在本申请实施例中,在确定第一物理最小单元地址之后,方法还包括:
根据第一物理最小单元地址,建立逻辑地址与物理地址的映射表。
具体的,在得到第一物理最小单元地址之后,将每一个第一物理最小单元地址与对应的逻辑地址(Logical Memory Address,LMA)绑定,形成一张逻辑地址与物理地址的映射表,即LMA-PMA映射表,以完成从逻辑地址到物理地址的映射。从而在后续闪存设备可以根据主机发送的读写请求,基于LMA-PMA映射表将逻辑地址转换为物理地址,然后对该物理地址进行解码操作,从而根据得到的介质最小单元的编号、介质最小单元所在的超级页的编号、介质最小单元所在的超级块的编号,进行读写操作。
在本申请实施例中,方法还包括:对第二物理最小单元地址进行解码操作,以确定第二介质最小单元的编号、第二介质最小单元所在的超级页的编号、第二介质最小单元所在的超级块的编号,从而对第二介质最小单元进行读写操作。
其中,第二物理最小单元地址为待解码的物理最小单元地址;第二介质最小单元为第二物理最小单元地址对应的介质最小单元;第二介质最小单元的编号为第二介质最小单元在其所在的超级页的偏移量;第二介质最小单元所在的超级页的编号为第二介质最小单元所在的超级页,在同一个超级块内所有超级页中的顺序编号;第二介质最小单元所在的超级块的编号为第二介质最小单元所在的超级块,在所有超级块中的顺序编号。
具体的,请参阅图8,图8是本申请实施例提供的一种对第二物理最小单元地址进行解码操作,以及对第二介质最小单元进行读写操作的流程示意图;
如图8所示,对第二物理最小单元地址进行解码操作,以及对第二介质最小单元进行读写操作的流程,包括:
步骤S801:获取第二物理最小单元地址;
具体的,第二物理最小单元地址是经过上述编码公式完成编码的物理地址,即第二物理最小单元地址是需要进行解码的第一物理最小单元地址。
步骤S802:对第二物理最小单元地址进行解码,分别得到第二介质最小单元的编号、第二介质最小单元所在的超级页的编号、第二介质最小单元所在的超级块的编号;
具体的,通过不同的解码公式对第二物理最小单元地址进行解码,分别得到第二介质最小单元的编号、第二介质最小单元所在的超级页的编号、第二介质最小单元所在的超级块的编号。
在本申请实施例中,对第二物理最小单元地址进行解码,得到第二介质最小单元的编号,包括:将第二物理最小单元地址与第二数目相除的余数,作为第二介质最小单元的编号。
具体的,该步骤可用公式表示,如下:
其中,为第二介质最小单元的编号,/>为第二物理最小单元地址,为第二数目。
例如:当一个闪存设备中超级块的数目为271个,每个超级块中有4224个超级页,每个超级页中有2048个介质最小单元,第二物理最小单元地址为865485100时,第二介质最小单元的编号
在本申请实施例中,对第二物理最小单元地址进行解码,得到第二介质最小单元所在的超级块的编号,包括:将第二物理最小单元地址与第一数目相除,得到第一结果,并对第一结果进行向下取整,得到第二介质最小单元所在的超级块的编号。
具体的,第一结果为第二物理最小单元地址除以第一数目,得到的商。该步骤可用公式表示,如下:
其中,为第二介质最小单元所在的超级块的编号,/>为第二物理最小单元地址,/>为第一数目。
例如:当一个闪存设备中超级块的数目为271个,每个超级块中有4224个超级页,每个超级页中有2048个介质最小单元,第二物理最小单元地址为865485100时,第二介质最小单元所在的超级块的编号
在本申请实施例中,对第二物理最小单元地址进行解码,得到第二介质最小单元所在的超级页的编号,包括:将第二物理最小单元地址与第一数目相除的余数,作为第二结果;将第二结果与第二数目相除得到第三结果,对第三结果进行向下取整,得到第二介质最小单元所在的超级页的编号。
具体的,第二结果为第二物理最小单元地址除以第一数目,得到的余数;第三结果为第二结果除以第二数目,得到的商。该步骤可用公式表示,如下:
其中,为第二介质最小单元所在的超级页的编号,/>为第二物理最小单元地址,/>为第一数目,/>为第二数目。
例如:当一个闪存设备中超级块的数目为271个,每个超级块中有4224个超级页,每个超级页中有2048个介质最小单元,第二物理最小单元地址为865485100时,第二介质最小单元所在的超级页的编号
可以看出,第二物理最小单元地址为865485100时,第二介质最小单元所在的超级块的编号100,第二介质最小单元所在的超级页的编号200,第二介质最小单元的编号300,与上文中根据编码公式计算第100个超级块中的第200个超级页内的第300个MAU对应的PMA为865485100的过程,所使用的介质最小单元的编号、超级页的编号、超级块的编号相同。并且解码得到的编号100、200、300可以分别表示超级块、超级页、介质最小单元的地址,不需要其他转换。
步骤S803:根据第二介质最小单元的编号、第二介质最小单元所在的超级页的编号、第二介质最小单元所在的超级块的编号,对第二介质最小单元进行读写操作。
具体的,根据第二介质最小单元所在的超级块的编号,在若干个超级块中选择一个超级块,根据第二介质最小单元所在的超级页的编号,在该超级块内的若干个超级页中选择一个超级页,根据第二介质最小单元的编号,在该超级页内的若干个介质最小单元中确定第二介质最小单元,从而可以对该第二介质最小单元进行读写操作。
请参阅图9,图9是本申请实施例提供的一种对第二物理最小单元地址进行解码操作的流程示意图;
如图9所示,对第二物理最小单元地址进行解码操作的流程,包括:
步骤S901:获取第二物理最小单元地址;
具体的,第二物理最小单元地址为待解码的物理最小单元地址。
步骤S902:确定第一数目和第二数目;
具体的,第一数目为一个超级块中介质最小单元的数目,第二数目为一个超级页中介质最小单元的数目。
步骤S903:根据解码公式对第二物理最小单元地址进行解码;
具体的,根据下述第一解码公式对第二物理最小单元地址进行解码,得到第二介质最小单元所在的超级块的编号:
其中,为第二介质最小单元所在的超级块的编号,/>为第二物理最小单元地址,/>为第一数目。
根据下述第二解码公式对第二物理最小单元地址进行解码,得到第二介质最小单元所在的超级页的编号:
其中,为第二介质最小单元所在的超级页的编号,/>为第二物理最小单元地址,/>为第一数目,/>为第二数目。
根据下述第三解码公式对第二物理最小单元地址进行解码,得到第二介质最小单元的编号:
其中,为第二介质最小单元的编号,/>为第二物理最小单元地址,为第二数目。
可以理解的是,上述第一解码公式、第二解码公式和第三解码公式没有顺序限制。
步骤S904:输出第二介质最小单元的编号、第二介质最小单元所在的超级页的编号、第二介质最小单元所在的超级块的编号。
在本申请实施例中,通过提供一种物理地址的编址方法,该物理地址的编址方法包括:获取第一介质最小单元的编号、第一介质最小单元所在的超级页的编号、第一介质最小单元所在的超级块的编号;将超级块的编号与超级页的编号,分别转换为第一偏移量、第二偏移量;根据第一介质最小单元的编号、第一偏移量与第二偏移量,确定第一物理最小单元地址,其中,第一物理最小单元地址为第一介质最小单元的物理地址。
通过将第一介质最小单元所在的超级块的编号与超级页的编号,分别转换为第一偏移量、第二偏移量,并结合第一介质最小单元的编号,确定第一物理最小单元地址,本申请能够提高比特位的利用率,使得每一介质最小单元的物理地址的位宽小于PMA分区编址格式对应的位宽,从而在设定的编址格式的位宽不变的情况下,表示更多的物理最小单元地址,进而节省闪存设备的内存空间。
请参阅图10,图10是本申请实施例提供的另一种闪存设备的结构示意图;
如图10所示,该闪存设备100包括一个或多个处理器106以及存储器107。其中,图10中以一个处理器106为例。
处理器106和存储器107可以通过总线或者其他方式连接,图10中以通过总线连接为例。
处理器106,用于提供计算和控制能力,以控制闪存设备100执行相应任务,例如,控制闪存设备100执行上述任一方法实施例中的物理地址的编址方法,包括:获取第一介质最小单元的编号、第一介质最小单元所在的超级页的编号、第一介质最小单元所在的超级块的编号;将超级块的编号与超级页的编号,分别转换为第一偏移量、第二偏移量;根据第一介质最小单元的编号、第一偏移量与第二偏移量,确定第一物理最小单元地址,其中,第一物理最小单元地址为第一介质最小单元的物理地址。
通过将第一介质最小单元所在的超级块的编号与超级页的编号,分别转换为第一偏移量、第二偏移量,并结合第一介质最小单元的编号,确定第一物理最小单元地址,本申请能够提高比特位的利用率,使得每一介质最小单元的物理地址的位宽小于PMA分区编址格式对应的位宽,从而在设定的编址格式的位宽不变的情况下,表示更多的物理最小单元地址,进而节省闪存设备的内存空间。
处理器106可以是通用处理器,包括中央处理器(CentralProcessingUnit,CPU)、网络处理器(NetworkProcessor,NP)、硬件芯片或者其任意组合;还可以是数字信号处理器(DigitalSignalProcessing,DSP)、专用集成电路(ApplicationSpecificIntegratedCircuit,ASIC)、可编程逻辑器件(programmable logic device,PLD)或其组合。上述PLD可以是复杂可编程逻辑器件(complex programmable logic device,CPLD),现场可编程逻辑门阵列(field-programmable gate array,FPGA),通用阵列逻辑(generic array logic,GAL)或其任意组合。
存储器107作为一种非暂态计算机可读存储介质,可用于存储非暂态软件程序、非暂态性计算机可执行程序以及模块,如本申请实施例中的物理地址的编址方法对应的程序指令/模块。处理器106通过运行存储在存储器107中的非暂态软件程序、指令以及模块,可以实现上述任一方法实施例中的物理地址的编址方法。具体地,存储器107可以包括易失性存储器(volatile memory,VM),例如随机存取存储器(random access memory, RAM);存储器107也可以包括非易失性存储器(non-volatile memory,NVM),例如只读存储器(read-only memory, ROM),快闪存储器(flash memory),硬盘(hard disk drive, HDD)或固态硬盘(solid-state drive, SSD)或其他非暂态固态存储器件;存储器107还可以包括上述种类的存储器的组合。
存储器107可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实施例中,存储器107可选包括相对于处理器106远程设置的存储器,这些远程存储器可以通过网络连接至处理器106。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
一个或者多个模块存储在存储器107中,当被一个或者多个处理器106执行时,执行上述任意方法实施例中的物理地址的编址方法,例如,执行以上描述的图4所示的各个步骤。
本申请实施例还提供了一种非易失性计算机存储介质,计算机存储介质存储有计算机可执行指令,该计算机可执行指令被一个或多个处理器执行,例如上述一个或多个处理器可执行上述任意方法实施例中的物理地址的编址方法,例如,执行以上描述的各个步骤。
以上所描述的装置或设备实施例仅仅是示意性的,其中作为分离部件说明的单元模块可以是或者也可以不是物理上分开的,作为模块单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络模块单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对相关技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用直至得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分的方法。
最后应说明的是:以上实施例仅用以说明本申请的技术方案,而非对其限制;在本申请的思路下,以上实施例或者不同实施例中的技术特征之间也可以进行组合,步骤可以以任意顺序实现,并存在如上的本申请的不同方面的许多其它变化,为了简明,它们没有在细节中提供;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的范围。

Claims (10)

1.一种物理地址的编址方法,其特征在于,所述方法包括:
获取第一介质最小单元的编号、第一介质最小单元所在的超级页的编号、第一介质最小单元所在的超级块的编号;
将所述超级块的编号与所述超级页的编号,分别转换为第一偏移量、第二偏移量;
根据所述第一介质最小单元的编号、所述第一偏移量与所述第二偏移量,确定第一物理最小单元地址,其中,所述第一物理最小单元地址为所述第一介质最小单元的物理地址。
2.根据权利要求1所述的方法,其特征在于,所述第一介质最小单元的编号为待编码的所述第一介质最小单元在所述超级页的偏移量;
所述第一偏移量为在所述超级块的编号之前的若干个超级块包含的介质最小单元的数量之和;
所述第二偏移量为在所述超级页的编号之前的若干个超级页包含的介质最小单元的数量之和。
3.根据权利要求1所述的方法,其特征在于,所述将所述超级块的编号与所述超级页的编号,分别转换为第一偏移量、第二偏移量,包括:
确定第一数目与第二数目,其中,所述第一数目为一个超级块中介质最小单元的数目,所述第二数目为一个超级页中介质最小单元的数目;
将所述超级块的编号与所述第一数目相乘,得到第一偏移量;
将所述超级页的编号与所述第二数目相乘,得到第二偏移量。
4.根据权利要求3所述的方法,其特征在于,所述根据所述第一介质最小单元的编号、所述第一偏移量与所述第二偏移量,确定第一物理最小单元地址,包括:
将所述第一介质最小单元的编号、所述第一偏移量与所述第二偏移量相加,得到所述第一物理最小单元地址。
5.根据权利要求4所述的方法,其特征在于,所述第一物理最小单元地址通过下述公式计算得到:
其中,为第一物理最小单元地址,/>为第一介质最小单元的编号,/>为第二数目,/>为第一介质最小单元所在的超级页的编号,/>为第一数目,/>为第一介质最小单元所在的超级块的编号。
6.根据权利要求1-5任一项所述的方法,其特征在于,所述方法还包括:
获取第二物理最小单元地址,其中,所述第二物理最小单元地址为待解码的物理最小单元地址;
对所述第二物理最小单元地址进行解码,分别得到第二介质最小单元的编号、第二介质最小单元所在的超级页的编号、第二介质最小单元所在的超级块的编号,其中,所述第二介质最小单元为第二物理最小单元地址对应的介质最小单元;
根据所述第二介质最小单元的编号、第二介质最小单元所在的超级页的编号、第二介质最小单元所在的超级块的编号,对所述第二介质最小单元进行读写操作。
7.根据权利要求6所述的方法,其特征在于,所述对所述第二物理最小单元地址进行解码,分别得到第二介质最小单元的编号、第二介质最小单元所在的超级页的编号、第二介质最小单元所在的超级块的编号,包括:
将所述第二物理最小单元地址与第二数目相除的余数,作为第二介质最小单元的编号。
8.根据权利要求7所述的方法,其特征在于,所述对所述第二物理最小单元地址进行解码,分别得到第二介质最小单元的编号、第二介质最小单元所在的超级页的编号、第二介质最小单元所在的超级块的编号,包括:
将所述第二物理最小单元地址与第一数目相除,得到第一结果,并对所述第一结果进行向下取整,得到第二介质最小单元所在的超级块的编号。
9.根据权利要求7所述的方法,其特征在于,所述对所述第二物理最小单元地址进行解码,分别得到第二介质最小单元的编号、第二介质最小单元所在的超级页的编号、第二介质最小单元所在的超级块的编号,包括:
将所述第二物理最小单元地址与第一数目相除的余数,作为第二结果;
将所述第二结果与第二数目相除得到第三结果,对所述第三结果进行向下取整,得到第二介质最小单元所在的超级页的编号。
10.一种闪存设备,其特征在于,包括:
至少一个处理器;和
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行如权利要求1-9任一项所述的物理地址的编址方法。
CN202311744299.7A 2023-12-19 2023-12-19 物理地址的编址方法及闪存设备 Active CN117420966B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202311744299.7A CN117420966B (zh) 2023-12-19 2023-12-19 物理地址的编址方法及闪存设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202311744299.7A CN117420966B (zh) 2023-12-19 2023-12-19 物理地址的编址方法及闪存设备

Publications (2)

Publication Number Publication Date
CN117420966A true CN117420966A (zh) 2024-01-19
CN117420966B CN117420966B (zh) 2024-05-28

Family

ID=89528827

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202311744299.7A Active CN117420966B (zh) 2023-12-19 2023-12-19 物理地址的编址方法及闪存设备

Country Status (1)

Country Link
CN (1) CN117420966B (zh)

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090106523A1 (en) * 2007-10-18 2009-04-23 Cisco Technology Inc. Translation look-aside buffer with variable page sizes
US20180217892A1 (en) * 2017-01-27 2018-08-02 Western Digital Technologies, Inc. System and method for implementing super word line zones in a memory device
US20200241799A1 (en) * 2019-01-29 2020-07-30 Toshiba Memory Corporation Memory system and method for controlling nonvolatile memory
CN112559392A (zh) * 2020-12-23 2021-03-26 深圳大普微电子科技有限公司 一种加速读存储介质的方法、读加速硬件模块及存储器
KR20220052152A (ko) * 2020-10-20 2022-04-27 에스케이하이닉스 주식회사 스토리지 장치 및 그 동작 방법
US20220261187A1 (en) * 2019-08-29 2022-08-18 Kioxia Corporation Memory system and method of controlling nonvolatile memory
CN114944176A (zh) * 2021-02-17 2022-08-26 爱思开海力士有限公司 用于非对称管芯封装的超级块链接系统和方法
CN115113799A (zh) * 2021-03-18 2022-09-27 慧荣科技股份有限公司 主机命令的执行方法及装置
CN115756312A (zh) * 2022-11-02 2023-03-07 平头哥(上海)半导体技术有限公司 数据访问系统、数据访问方法和存储介质

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090106523A1 (en) * 2007-10-18 2009-04-23 Cisco Technology Inc. Translation look-aside buffer with variable page sizes
US20180217892A1 (en) * 2017-01-27 2018-08-02 Western Digital Technologies, Inc. System and method for implementing super word line zones in a memory device
US20200241799A1 (en) * 2019-01-29 2020-07-30 Toshiba Memory Corporation Memory system and method for controlling nonvolatile memory
US20220261187A1 (en) * 2019-08-29 2022-08-18 Kioxia Corporation Memory system and method of controlling nonvolatile memory
KR20220052152A (ko) * 2020-10-20 2022-04-27 에스케이하이닉스 주식회사 스토리지 장치 및 그 동작 방법
CN112559392A (zh) * 2020-12-23 2021-03-26 深圳大普微电子科技有限公司 一种加速读存储介质的方法、读加速硬件模块及存储器
CN114944176A (zh) * 2021-02-17 2022-08-26 爱思开海力士有限公司 用于非对称管芯封装的超级块链接系统和方法
CN115113799A (zh) * 2021-03-18 2022-09-27 慧荣科技股份有限公司 主机命令的执行方法及装置
CN115756312A (zh) * 2022-11-02 2023-03-07 平头哥(上海)半导体技术有限公司 数据访问系统、数据访问方法和存储介质

Also Published As

Publication number Publication date
CN117420966B (zh) 2024-05-28

Similar Documents

Publication Publication Date Title
US10282128B2 (en) Data deduplication
US9514057B2 (en) Storage module and method for managing logical-to-physical address mapping
US8725961B2 (en) Systems, methods, and devices for configuring a device
KR101695364B1 (ko) 저장 시스템 로컬 블록 어드레스 할당해제 관리 및 데이터 강화
US20170177497A1 (en) Compressed caching of a logical-to-physical address table for nand-type flash memory
CN105830022A (zh) 访问文件的方法和装置
US11556466B2 (en) Logical-to-physical data structures
US10866736B2 (en) Memory controller and data processing circuit with improved system efficiency
CN107797934B (zh) 处理去分配命令的方法与存储设备
CN111079917A (zh) 张量数据分块存取的方法及装置
US10048899B2 (en) Storage device, computing system including the storage device, and method of operating the storage device
US11537328B2 (en) Method and apparatus for executing host commands
CN113326216B (zh) 存储器子系统控制器及相关方法和存储媒体
US20230102690A1 (en) Near-memory engine for reducing bandwidth utilization in sparse data applications
US11782638B2 (en) Storage device with improved read latency and operating method thereof
CN117420966B (zh) 物理地址的编址方法及闪存设备
CN102567247B (zh) 硬件搜索引擎
US11275683B2 (en) Method, apparatus, device and computer-readable storage medium for storage management
CN112513824A (zh) 一种内存交织方法及装置
CN110443053B (zh) 一种基于密钥循环表及映射表的密钥生成方法
US20230133559A1 (en) Method and apparatus for performing data access control of memory device with aid of predetermined command
CN114385517A (zh) 地址空间映射表的处理方法及装置
CN117707620A (zh) 用于系统级芯片的控制方法、系统级芯片
CN113867642A (zh) 数据处理方法、装置及存储设备
CN116450047A (zh) Ssd数据仿真处理方法、装置、计算机设备及存储介质

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