CN110597741B - 一种l2p表的读写、更新方法及l2p表 - Google Patents
一种l2p表的读写、更新方法及l2p表 Download PDFInfo
- Publication number
- CN110597741B CN110597741B CN201910784274.7A CN201910784274A CN110597741B CN 110597741 B CN110597741 B CN 110597741B CN 201910784274 A CN201910784274 A CN 201910784274A CN 110597741 B CN110597741 B CN 110597741B
- Authority
- CN
- China
- Prior art keywords
- pba
- bits
- lba
- ddr
- writing
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 35
- 229920001485 poly(butyl acrylate) polymer Polymers 0.000 claims description 38
- 230000008569 process Effects 0.000 claims description 9
- 238000013507 mapping Methods 0.000 claims description 6
- 230000000694 effects Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/10—Address translation
- G06F12/1009—Address translation using page tables, e.g. page table structures
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Signal Processing For Digital Recording And Reproducing (AREA)
Abstract
本发明实施例公开了一种L2P表的读写、更新方法及L2P表,所述L2P表的PBA用Nbit标示,所述N的取值根据盘容量S计算,为非32bit对齐的方式。降低了L2P对内存的使用容量,从而降低SSD的成本。进行数据读写和L2P表更新时,只需要根据LBA的值,计算对应PBA是否跨32bit,在PBA跨32bit的情况下,直接获取2个32bit,采用异或方式进行相应读写和更新操作即可,便于L2P的保存和恢复。
Description
技术领域
本发明涉及计算机存储技术领域,具体地说是一种L2P表的读写、更新方法及L2P表。
背景技术
SSD(Solid State Drives,固态硬盘)的映射表(L2P)是LBA(Logical BlockAddress。逻辑地址)和PBA(Physics Block Address,物理地址)的映射,在读写过程中,host(主机)下发LBA到SSD,SSD查询L2P表找到PBA,从而找到对应的flash位置进行读写操作。
L2P相当于一个以LBA为下标的一维数组,数组的每一个元素都是一个PBA,所有的PBA能够寻址到SSD的任何falsh空间。
现有的L2P中的PBA一般是用32bit去标示,这样在SSD运行过程中针对32对齐的L2P表进行读写访问比较方便,但L2P表大小一般为盘实际容量的1/1000。因每个32bit中空闲了若干比特,这浪费了DDR(Double Data Rate,双倍速率同步动态随机存储器)。而现在的企业级SSD一般为TB级,对DDR的容量需求较大,以至于DDR的成本极大的影响了SSD的成本。
发明内容
本发明实施例中提供了一种L2P表的读写、更新方法及L2P表,以解决现有技术中L2P表占用较大DDR空间,增大SSD成本的问题。
为了解决上述技术问题,本发明实施例公开了如下技术方案:
本发明第一方面提供了一种L2P表,包括具有映射关系的LBA和PBA,所述PBA用Nbit标示,所述N的取值根据盘容量S计算,具体为:S/4=2N。
本发明第二方面提供了一种基于所述L2P表的读取方法,所述方法包括:
根据LBA和Nbit的取值,计算PBA是否跨32bit,并获取当前LBA对应的PBA,读取数据。
进一步地,所述计算PBA是否跨32bit,并获取当前LBA对应的PBA的具体过程为:
若是,则PBA未跨32bit,获取1个32bit,得到对应的PBA;
若否,则PBA跨32bit,获取2个32bit,得到对应的PBA。
本发明第三方面提供了一种基于所述L2P表的写入方法,所述方法包括:
根据LBA和Nbit的取值,计算PBA是否跨32bit,并获取当前LBA对应的PBA,采用异或方式写入数据。
进一步地,计算PBA是否跨32bit,并获取当前LBA对应的PBA,采用异或方式写入数据的具体过程为:
若是,则PBA未跨32bit,获取1个32bit,得到对应的PBA,采用内存操作的异或方式写入数据;
若否,则PBA跨32bit,获取2个32bit,得到对应的PBA,采用内存操作的异或方式写入数据。
本发明第四方面提供了一种L2P表的更新方法,基于所述的L2P表,所述方法包括以下步骤:
根据更新后的LBA计算PBA,进行数据读写操作;
以LBA+(N bit PBA)的形式,将变量信息发送给上下电模块;
上电时,上下电模块读取所述变量信息,计算PBA所在DDR的位置,以内存操作的异或方式写入DDR。
进一步地,所述计算PBA所在DDR的位置,以内存操作的异或方式写入DDR的具体过程为:
根据LBA计算PBA所在DDR的位置,判断当前PBA是否跨32bit;
若是,读取DDR位置对应的2个32bit,将PBA填入新的L2P表项;
若否,读取DDR位置对应的1个32bit,将PBA填入新的L2P表项;
将读取的32bit中未填入PBA的bit清零,以内存操作异或的方式写入DDR。
发明内容中提供的效果仅仅是实施例的效果,而不是发明所有的全部效果,上述技术方案中的一个技术方案具有如下优点或有益效果:
1、本发明提出一种非32bit对齐的L2P设计方案,根据实际盘容量,确定标示PBA的bit数,因bit数小于32,且依次标示,降低了L2P对内存的使用容量,从而降低SSD的成本。
2、基于非对齐的L2P表进行数据读写和L2P表更新时,只需要根据LBA的值,计算对应PBA是否跨32bit,在PBA跨32bit的情况下,直接获取2个32bit,采用异或方式进行相应读写和更新操作即可,便于L2P的保存和恢复。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明所述L2P表的PBA标示方式示意图;
图2是基于本发明所述L2P表进行数据读取的流程示意图;
图3是基于本发明所述L2P表进行数据写入的流程示意图;
图4是本发明所述L2P表的更新流程示意图。
具体实施方式
为能清楚说明本方案的技术特点,下面通过具体实施方式,并结合其附图,对本发明进行详细阐述。下文的公开提供了许多不同的实施例或例子用来实现本发明的不同结构。为了简化本发明的公开,下文中对特定例子的部件和设置进行描述。此外,本发明可以在不同例子中重复参考数字和/或字母。这种重复是为了简化和清楚的目的,其本身不指示所讨论各种实施例和/或设置之间的关系。应当注意,在附图中所图示的部件不一定按比例绘制。本发明省略了对公知组件和处理技术及工艺的描述以避免不必要地限制本发明。
如图1所示,本发明L2P表的PBA采用非32bit对齐的方式进行标识,根据盘容量计算出PBA所需的标示位数,并对PBA进行一次标示,即有的PBA采用跨32bit的方式进行标识。
计算PBA标识位数具体为:
S/4=2N;
式中,S为盘容量,N为PBA所需的标示位数,4表示数据块的大小,每个数据块为4K,式中为标明容量单位。以盘容量2T为例计算,得到N的取值为29,即盘容量为2T时,PBA需要29bit来标示。
如图2所示,利用L2P表进行数据读取的过程为:根据LBA和N的取值,计算PBA是否跨32bit,其计算方法为:
若当前PBA未跨32bit,则获取1个32bit,找到对应的PBA,读取数据;若当前PBA跨32bit,则获取2个32bit,找到对应的PBA,读取数据。
如图3所示,利用L2P表进行数据写入的过程为:根据LBA和N的取值,计算PBA是否跨32bit,其计算方法为:
若当前PBA未跨32bit,则获取1个32bit,找到对应的PBA,采用内存操作的异或方式写入数据;若当前PBA跨32bit,则获取2个32bit,找到对应的PBA,采用内存操作的异或方式写入数据。如对于2个32bit,首先找到第一个32bit中的N1bit,然后找到第二个32bit中的(N-N1)bit,在两个32bit中均采用异或操作,即不改变除N1bit和(N-N1)bit外的其他bit。
如图4所示,存储运行过程中L2P表发生更新时,其更新方法为:
根据更新后的LBA计算PBA,进行数据读写操作;该读写操作与图2、图3所示的操作相同,只是LBA的值发生了变化,在此不做赘述。
以LBA+(N bit PBA)的形式,将变量信息发送给上下电模块;变量信息即LBA更新后的值,以“LBA+(N bit PBA)”的形式发送,是为了上下电模块识别到L2P发生了更新,并保存更新后的LBA。
上电时,上下电模块读取变量信息,计算PBA所在DDR的位置,以内存操作的异或方式写入DDR。根据LBA计算PBA所在DDR的位置,判断当前PBA是否跨32bit;若是,读取DDR位置对应的2个32bit,将PBA填入新的L2P表项;若否,读取DDR位置对应的1个32bit,将PBA填入新的L2P表项;将读取的32bit中未填入PBA的bit清零,以内存操作异或的方式写入DDR。如L2P表的表项(PBA)为29bit,那第一个PBA在32bit之内;第二个PBA就跨32bit了,第二个PBA占了第一个32bit的3bit,第二个32bit的26bit;第三个PBA同样跨32bit,占了第二个32bit的6bit,第三个32bit的23bit,以此类推,得到所有PBA在DDR中的位置,在填完所有PBA后,将DDR中未填入PBA的bit清零,节省DDR空间。在写PBA的过程中,依然采用内存操作异或的方式写入DDR。
以上所述只是本发明的优选实施方式,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也被视为本发明的保护范围。
Claims (4)
3.一种L2P表的更新方法,所述L2P表包括具有映射关系的LBA和PBA,所述PBA用Nbit标示,所述N的取值根据盘容量S计算,具体为:S/4=2N,其特征是,所述方法包括以下步骤:
根据更新后的LBA计算PBA,进行数据读写操作;
以LBA+(N bit pba)的形式,将变量信息发送给上下电模块;
上电时,上下电模块读取所述变量信息,计算PBA所在DDR的位置,以内存操作的异或方式写入DDR。
4.根据权利要求3所述的L2P表的更新方法,其特征是,所述计算PBA所在DDR的位置,以内存操作的异或方式写入DDR的具体过程为:
根据LBA计算PBA所在DDR的位置,判断当前PBA是否跨32bit;
若是,读取DDR位置对应的2个32bit,将PBA填入新的L2P表项;
若否,读取DDR位置对应的1个32bit,将PBA填入新的L2P表项;
将读取的32bit中未填入PBA的bit清零,以内存操作异或的方式写入DDR。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910784274.7A CN110597741B (zh) | 2019-08-23 | 2019-08-23 | 一种l2p表的读写、更新方法及l2p表 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910784274.7A CN110597741B (zh) | 2019-08-23 | 2019-08-23 | 一种l2p表的读写、更新方法及l2p表 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110597741A CN110597741A (zh) | 2019-12-20 |
CN110597741B true CN110597741B (zh) | 2021-09-10 |
Family
ID=68855421
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910784274.7A Active CN110597741B (zh) | 2019-08-23 | 2019-08-23 | 一种l2p表的读写、更新方法及l2p表 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110597741B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112765049B (zh) * | 2021-01-24 | 2022-07-12 | 苏州浪潮智能科技有限公司 | 一种更新l2p表的方法、装置、设备及可读介质 |
US11989127B2 (en) | 2022-09-15 | 2024-05-21 | Western Digital Technologies, Inc. | Efficient L2P DRAM for high-capacity drives |
Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102411616A (zh) * | 2011-10-28 | 2012-04-11 | 北京地拓科技发展有限公司 | 一种数据存储方法和系统及数据管理方法 |
CN103026346A (zh) * | 2010-07-27 | 2013-04-03 | 国际商业机器公司 | 包括固态存储器设备的存储系统中的逻辑到物理地址映射 |
CN103677670A (zh) * | 2013-12-11 | 2014-03-26 | 华为技术有限公司 | 读数据的方法及装置 |
US8959281B1 (en) * | 2012-11-09 | 2015-02-17 | Western Digital Technologies, Inc. | Data management for a storage device |
CN105243025A (zh) * | 2015-09-25 | 2016-01-13 | 联想(北京)有限公司 | 一种映射表的形成及加载方法、电子设备 |
CN106445832A (zh) * | 2016-09-06 | 2017-02-22 | 深圳市先天海量信息技术有限公司 | 闪存存储系统的地址映射方法及装置 |
CN107273306A (zh) * | 2017-06-19 | 2017-10-20 | 郑州云海信息技术有限公司 | 一种固态硬盘的数据读取、数据写入方法及固态硬盘 |
CN109101437A (zh) * | 2018-07-20 | 2018-12-28 | 浪潮电子信息产业股份有限公司 | 一种数据存储方法与终端 |
CN109582593A (zh) * | 2018-11-05 | 2019-04-05 | 华侨大学 | 一种基于计算的ftl地址映射方法及数据读、写方法 |
CN109918318A (zh) * | 2019-03-06 | 2019-06-21 | 苏州浪潮智能科技有限公司 | Ssd元数据管理方法、装置、设备及可读存储介质 |
CN110058796A (zh) * | 2018-01-18 | 2019-07-26 | 慧荣科技股份有限公司 | 数据储存装置 |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100299494A1 (en) * | 2005-12-22 | 2010-11-25 | Nxp B.V. | Memory with block-erasable locations and a linked chain of pointers to locate blocks with pointer information |
CN101339537B (zh) * | 2008-08-14 | 2011-11-23 | 四川和芯微电子股份有限公司 | 一种以页为单位的nand闪存管理方法 |
CN101840373B (zh) * | 2010-01-28 | 2012-02-22 | 北京握奇数据系统有限公司 | 数据操作方法及装置 |
US9323667B2 (en) * | 2012-04-12 | 2016-04-26 | Violin Memory Inc. | System and method for managing trim operations in a flash memory system using mapping tables and block status tables |
KR20180001681A (ko) * | 2016-06-27 | 2018-01-05 | 에스케이하이닉스 주식회사 | 메모리 시스템, 이의 어드레스 맵핑 방법 및 억세스 방법 |
CN106354658B (zh) * | 2016-08-29 | 2019-02-01 | 成都三零嘉微电子有限公司 | 一种降低混合映射算法中映射表内存资源占用的方法 |
CN108153681A (zh) * | 2017-11-29 | 2018-06-12 | 深圳忆联信息系统有限公司 | 一种大容量固态硬盘映射表压缩方法 |
CN109213690A (zh) * | 2018-09-21 | 2019-01-15 | 浪潮电子信息产业股份有限公司 | 一种l2p表的重建方法及相关装置 |
-
2019
- 2019-08-23 CN CN201910784274.7A patent/CN110597741B/zh active Active
Patent Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103026346A (zh) * | 2010-07-27 | 2013-04-03 | 国际商业机器公司 | 包括固态存储器设备的存储系统中的逻辑到物理地址映射 |
CN102411616A (zh) * | 2011-10-28 | 2012-04-11 | 北京地拓科技发展有限公司 | 一种数据存储方法和系统及数据管理方法 |
US8959281B1 (en) * | 2012-11-09 | 2015-02-17 | Western Digital Technologies, Inc. | Data management for a storage device |
CN103677670A (zh) * | 2013-12-11 | 2014-03-26 | 华为技术有限公司 | 读数据的方法及装置 |
CN105243025A (zh) * | 2015-09-25 | 2016-01-13 | 联想(北京)有限公司 | 一种映射表的形成及加载方法、电子设备 |
CN106445832A (zh) * | 2016-09-06 | 2017-02-22 | 深圳市先天海量信息技术有限公司 | 闪存存储系统的地址映射方法及装置 |
CN107273306A (zh) * | 2017-06-19 | 2017-10-20 | 郑州云海信息技术有限公司 | 一种固态硬盘的数据读取、数据写入方法及固态硬盘 |
CN110058796A (zh) * | 2018-01-18 | 2019-07-26 | 慧荣科技股份有限公司 | 数据储存装置 |
CN109101437A (zh) * | 2018-07-20 | 2018-12-28 | 浪潮电子信息产业股份有限公司 | 一种数据存储方法与终端 |
CN109582593A (zh) * | 2018-11-05 | 2019-04-05 | 华侨大学 | 一种基于计算的ftl地址映射方法及数据读、写方法 |
CN109918318A (zh) * | 2019-03-06 | 2019-06-21 | 苏州浪潮智能科技有限公司 | Ssd元数据管理方法、装置、设备及可读存储介质 |
Non-Patent Citations (1)
Title |
---|
一种改进型的SSD FTL算法;董萍;《西北师范大学学报(自然科学版)》;20170228;第53卷(第1期);第59-64页 * |
Also Published As
Publication number | Publication date |
---|---|
CN110597741A (zh) | 2019-12-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108804023B (zh) | 数据存储装置及其操作方法 | |
US10180805B2 (en) | Memory system and operating method thereof | |
EP2299364B1 (en) | Metadata redundancy schemes for non-volatile memories | |
US20170147499A1 (en) | Multi-Level Logical to Physical Address Mapping Using Distributed Processors in Non-Volatile Storage Device | |
US8898370B2 (en) | Data storage method for flash memory, and flash memory controller and flash memory storage system using the same | |
US20200065241A1 (en) | Data storage device and operating method thereof | |
CN107957959B (zh) | 具有文件级安全擦除的存储器系统及其操作方法 | |
US20150052415A1 (en) | Data storage device, operating method thereof and data processing system including the same | |
CN110442529B (zh) | 可配置的存储器系统及配置和使用该存储器系统的方法 | |
KR101566849B1 (ko) | 메모리 장치 관리 방법, 그 관련 메모리 장치 및 그 관련 제어기 | |
KR101561546B1 (ko) | 메모리 장치 관리 방법, 그 관련 메모리 장치 및 그 관련 제어기 | |
US20160274808A1 (en) | Scalable spor algorithm for flash memories | |
US20200057725A1 (en) | Data storage device and operating method thereof | |
CN107544925B (zh) | 存储器系统及加速引导时间的方法 | |
CN104699413A (zh) | 数据管理方法、存储器存储装置及存储器控制电路单元 | |
CN113419675B (zh) | 用于存储器的写操作方法及读操作方法 | |
KR20200048978A (ko) | 데이터 저장 장치 및 그것의 동작 방법 | |
US20120166706A1 (en) | Data management method, memory controller and embedded memory storage apparatus using the same | |
CN110597741B (zh) | 一种l2p表的读写、更新方法及l2p表 | |
US10877853B2 (en) | Data storage device and operation method optimized for recovery performance, and storage system having the same | |
US10684953B2 (en) | Data storage apparatus capable of varying map cache buffer size | |
US10754768B2 (en) | Memory system using descriptor lookup tables to access setting information for a non-volatile memory, and an operating method thereof | |
US20210397378A1 (en) | Storage device and operating method thereof | |
US11249917B2 (en) | Data storage device and operating method thereof | |
KR20190095825A (ko) | 데이터 저장 장치 및 그것의 동작 방법 |
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 |