CN117632033A - A data writing method, device, equipment and storage medium for resource blocks - Google Patents
A data writing method, device, equipment and storage medium for resource blocks Download PDFInfo
- Publication number
- CN117632033A CN117632033A CN202311667638.6A CN202311667638A CN117632033A CN 117632033 A CN117632033 A CN 117632033A CN 202311667638 A CN202311667638 A CN 202311667638A CN 117632033 A CN117632033 A CN 117632033A
- Authority
- CN
- China
- Prior art keywords
- word line
- data
- target word
- resource block
- ssd
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
- G06F3/0679—Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/04—Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS
- G11C16/0483—Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS comprising cells having several storage transistors connected in series
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/10—Programming or data input circuits
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- Read Only Memory (AREA)
Abstract
Description
技术领域Technical field
本公开涉及存储技术领域,尤其是涉及一种资源块的数据写入方法、装置、设备及存储介质。The present disclosure relates to the field of storage technology, and in particular, to a data writing method, device, equipment and storage medium for resource blocks.
背景技术Background technique
高密度非易失性闪存NAND技术已经从2D过渡到3D。3D NAND技术在工艺上一起添加了多层存储单元,用以提高多层存储单元中每一层的裸片密度;随着层数增多,导致每个层介质中的资源块的大小变得越来越大,随之每个资源块的字线(wordline,WL)也会变大。High-density non-volatile flash NAND technology has transitioned from 2D to 3D. 3D NAND technology adds multi-layer memory units in the process to increase the die density of each layer of multi-layer memory units; as the number of layers increases, the size of the resource blocks in each layer of media becomes larger and larger. As the size increases, the wordline (WL) of each resource block will also become larger.
NVMe区域命名空间(ZNS,Zone Namespace)SSD(Solid State Drive,固态硬盘)是一种新的SSD技术,允许在主机Host和SSD(比如NAND)之间通信传输。ZNS命令集允许通过SSD将主机数据传输到SSD介质中,从而最大限度地减少写放大(write amplification,WA)并限制垃圾回收(garbage collection,GC)。然而,为了在不同应用程序中补偿主机数据搬移,ZNS需要开放更多的资源块(block)并保持更长的块开放时间。NVMe Zone Namespace (ZNS) SSD (Solid State Drive) is a new SSD technology that allows communication between the host and SSD (such as NAND). The ZNS command set allows host data to be transferred over SSD to SSD media, thereby minimizing write amplification (WA) and limiting garbage collection (GC). However, in order to compensate for host data movement among different applications, ZNS needs to open more resource blocks and keep the blocks open for a longer time.
在当前资源块的开放管理中,设计的资源块开放时间的阈值往往是以最糟糕的字线(WL)为依据,其中包括涵盖了NAND闪存批次之间和芯片之间的变化。资源块的开放时间需要覆盖最糟糕的字线,以确保SSD不会丢失任何资源块上的数据。然后这种设计下的阈值则需要设置更严格的块开放时间,以确保存储设备的可靠性,然而更严格的块开放时间设置则会导致更频繁地填充字线上的页面来关闭资源块,频繁填充字线上的页面的操作会导致垃圾回收和写放大,从而影响SSD硬盘存储的性能和寿命。In the current resource block opening management, the designed resource block opening time threshold is often based on the worst word line (WL), which includes changes between NAND flash memory batches and between chips. The opening time of the resource block needs to cover the worst word line to ensure that the SSD does not lose any data on the resource block. Then the threshold under this design needs to set a stricter block open time to ensure the reliability of the storage device. However, a stricter block open time setting will cause the page on the word line to be filled more frequently to close the resource block. The operation of frequently filling pages on word lines will cause garbage collection and write amplification, thus affecting the performance and life of SSD hard disk storage.
发明内容Contents of the invention
本公开提供了一种资源块的数据写入方法、装置、设备及存储介质,通过确定字线位置和NAND闪存批次中资源块每个字线的开放时间阈值,从而减少垃圾回收和写放大影响,具体地,公开了如下技术方案:The present disclosure provides a data writing method, device, equipment and storage medium for resource blocks, which reduces garbage collection and write amplification by determining the word line position and the open time threshold of each word line of the resource block in the NAND flash memory batch. Impact, specifically, the following technical solutions are disclosed:
第一方面,本公开提供了一种资源块的数据写入方法,所述方法包括:In a first aspect, the present disclosure provides a method for writing data in resource blocks. The method includes:
获取固态硬盘SSD中每个资源块的测试数据,以及获取基于所述SSD中的特性数据确定的关联关系,其中所述测试数据包括每个资源块中至少一个字线上不同页面的错误数FBC,所述关联关系表示所述SSD中不同擦写次数循环的时间戳与每个字线之间的关系;Obtain the test data of each resource block in the solid state drive SSD, and obtain the correlation determined based on the characteristic data in the SSD, wherein the test data includes the error number FBC of different pages on at least one word line in each resource block , the correlation represents the relationship between the timestamps of different erasing and writing cycles in the SSD and each word line;
根据所述不同页面的FBC确定目标字线的权重值,所述目标字线是所述至少一个字线之一;Determine the weight value of the target word line according to the FBC of the different pages, and the target word line is one of the at least one word line;
根据所述目标字线的权重值和所述布尔方程中表示的关系,计算所述目标字线的开放时间阈值;Calculate the open time threshold of the target word line according to the relationship expressed in the weight value of the target word line and the Boolean equation;
当需要对所述目标字线写入数据时,根据所述目标字线当前开放时间和所述开放时间阈值,写入数据。When data needs to be written to the target word line, data is written according to the current open time of the target word line and the open time threshold.
第二方面,本公开提供了一种资源块的数据写入装置,所述装置包括:In a second aspect, the present disclosure provides a data writing device for resource blocks. The device includes:
获取模块,用于获取固态硬盘SSD中每个资源块的测试数据,以及获取基于所述SSD中的特性数据确定的关联关系,其中所述测试数据包括每个资源块中至少一个字线上不同页面的错误数FBC,所述关联关系表示所述SSD中不同擦写次数循环的时间戳与每个字线之间的关系;The acquisition module is used to acquire the test data of each resource block in the solid-state drive SSD, and acquire the association relationship determined based on the characteristic data in the SSD, wherein the test data includes at least one different word line in each resource block. The number of page errors FBC, the correlation represents the relationship between the timestamps of different erasing and writing cycles in the SSD and each word line;
确定模块,用于根据所述不同页面的FBC确定目标字线的权重值,所述目标字线是所述至少一个字线之一;A determination module configured to determine the weight value of a target word line according to the FBC of the different pages, where the target word line is one of the at least one word line;
计算模块,用于根据所述目标字线的权重值和所述关联关系,计算所述目标字线的开放时间阈值;A calculation module configured to calculate the opening time threshold of the target word line based on the weight value of the target word line and the association relationship;
写入模块,用于当需要对所述目标字线写入数据时,根据所述目标字线当前开放时间和所述开放时间阈值,写入数据。A writing module, configured to write data according to the current opening time of the target word line and the opening time threshold when data needs to be written to the target word line.
第三方面,本公开提供了一种电子设备,包括:存储器和处理器,存储器和处理器之间互相通信连接,存储器中存储有计算机指令,处理器通过执行计算机指令,从而执行上述第一方面所述的资源块的数据写入方法。In a third aspect, the present disclosure provides an electronic device, including: a memory and a processor. The memory and the processor are communicatively connected to each other. Computer instructions are stored in the memory, and the processor executes the computer instructions to execute the first aspect. The data writing method of the resource block.
此外,本公开提供了一种计算机可读存储介质,该计算机可读存储介质上存储有计算机指令,计算机指令用于使计算机执行上述第一方面所述资源块的数据写入方法。In addition, the present disclosure provides a computer-readable storage medium that stores computer instructions, and the computer instructions are used to cause the computer to execute the data writing method of the resource block described in the first aspect.
本公开提供的一种资源块的数据写入方法、装置,使用测试数据和SSD开发的特性数据来确定资源块中每个字线的开放时间阈值,由于该时间开放阈值是基于硬盘SSD测试数据和关联关系确定,不依赖于最糟糕的字线设置的时间开放阈值,因此本方法确定每个字线的时间开放阈值相较于采用最糟糕字线的设置方法来说,可以延长资源块的开放时间延长,从而有效减少垃圾回收和写放大造成的影响,提高SSD系统的性能、降低功耗和延长使用寿命。The present disclosure provides a data writing method and device for resource blocks, which uses test data and characteristic data developed by SSD to determine the opening time threshold of each word line in the resource block, because the time opening threshold is based on the hard disk SSD test data. and the correlation relationship is determined, and does not depend on the time open threshold set by the worst word line. Therefore, this method determines the time open threshold of each word line, which can extend the resource block compared to the setting method of the worst word line. The open time is extended, thereby effectively reducing the impact of garbage collection and write amplification, improving the performance of the SSD system, reducing power consumption and extending the service life.
附图说明Description of drawings
为了更清楚地说明本公开具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本公开的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。In order to more clearly explain the specific embodiments of the present disclosure or the technical solutions in the prior art, the drawings that need to be used in the description of the specific embodiments or the prior art will be briefly introduced below. Obviously, the drawings in the following description The drawings illustrate some embodiments of the present disclosure. For those of ordinary skill in the art, other drawings can be obtained based on these drawings without exerting creative efforts.
图1是本公开实施例提供的一种分区命名空间固态硬盘的结构示意图;Figure 1 is a schematic structural diagram of a partitioned namespace solid state drive provided by an embodiment of the present disclosure;
图2是本公开实施例提供的一种资源块中字线的结构示意图;Figure 2 is a schematic structural diagram of a word line in a resource block provided by an embodiment of the present disclosure;
图3是本公开实施例提供的一种资源块的数据写入方法的流程图;Figure 3 is a flow chart of a data writing method for resource blocks provided by an embodiment of the present disclosure;
图4是本公开实施例提供的一种错误数FBC与页面之间的关系示意图;Figure 4 is a schematic diagram of the relationship between the error number FBC and the page provided by an embodiment of the present disclosure;
图5是本公开实施例提供的一种布尔方程的曲线图;Figure 5 is a graph of a Boolean equation provided by an embodiment of the present disclosure;
图6是本公开实施例提供的一种数据写入的方法流程图;Figure 6 is a flow chart of a data writing method provided by an embodiment of the present disclosure;
图7是本公开实施例提供的一种设置资源块开放时间阈值的示意图;Figure 7 is a schematic diagram of setting a resource block opening time threshold provided by an embodiment of the present disclosure;
图8是本公开实施例提供的一种资源块的数据写入装置的结构框图;Figure 8 is a structural block diagram of a data writing device for resource blocks provided by an embodiment of the present disclosure;
图9是本公开实施例提供的一种电子设备的硬件结构示意图。FIG. 9 is a schematic diagram of the hardware structure of an electronic device provided by an embodiment of the present disclosure.
具体实施方式Detailed ways
为使本公开实施例的目的、技术方案和优点更加清楚,下面将结合本公开实施例中的附图,对本公开实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本公开一部分实施例,而不是全部的实施例。基于本公开中的实施例,本领域技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本公开保护的范围。In order to make the purpose, technical solutions and advantages of the embodiments of the present disclosure clearer, the technical solutions in the embodiments of the present disclosure will be clearly and completely described below in conjunction with the drawings in the embodiments of the present disclosure. Obviously, the described embodiments These are some embodiments of the present disclosure, but not all embodiments. Based on the embodiments in this disclosure, all other embodiments obtained by those skilled in the art without making creative efforts fall within the scope of protection of this disclosure.
其中,需要说明的是,本实施例中,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。在本申请的描述中,“多个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。在本申请的描述中,“若干”的含义是至少一个,例如一个,两个等,除非另有明确具体的限定。It should be noted that in this embodiment, the terms "first" and "second" are only used for descriptive purposes and cannot be understood as indicating or implying relative importance or implicitly indicating the number of indicated technical features. Therefore, features defined as "first" and "second" may explicitly or implicitly include at least one of these features. In the description of this application, "plurality" means at least two, such as two, three, etc., unless otherwise expressly and specifically limited. In the description of this application, "several" means at least one, such as one, two, etc., unless otherwise expressly and specifically limited.
首先,对本公开实施例技术方案的应用场景和技术术语进行介绍。First, the application scenarios and technical terms of the technical solutions of the embodiments of the present disclosure are introduced.
本公开的技术方案可应用于一种ZNS(Zone Namespace,分区命名空间)固态硬盘SSD,如图1所示,ZNS是从OC(Open Channel,开放通道)SSD基础上发展而来的,用于实现分区FTL(Flash Translation Layer,闪存转换层)从SSD(Solid State Drive,固态硬盘)内部迁移到上层的Host端(主机端),把SSD内部开放给了Host端,这样用户可以根据自己需要,比较灵活的拥有自己特定的FTL,代价是软件架构必须重新设计,成本非常高,对用户技术实力要求也非常高。ZNS协议将NVMe 2.0其中的一部分将进行标准化处理,以满足行业需求。相比之下ZNS SSD规范更加标准,生态环境更加友好,简化了软件架构,用户可以更加容易地根据自身场景需求进行特定软件开发。The technical solution of the present disclosure can be applied to a ZNS (Zone Namespace, partition namespace) solid state drive SSD, as shown in Figure 1. ZNS is developed from the OC (Open Channel, open channel) SSD and is used for Realize the partition FTL (Flash Translation Layer, flash memory conversion layer) migration from the SSD (Solid State Drive, solid state drive) to the upper Host side (host side), and open the SSD internal to the Host side, so that users can according to their own needs, It is more flexible to have its own specific FTL, but the cost is that the software architecture must be redesigned, which is very costly and requires very high technical strength from users. The ZNS protocol will standardize part of NVMe 2.0 to meet industry needs. In contrast, ZNS SSD specifications are more standardized, the ecological environment is more friendly, and the software architecture is simplified. Users can more easily develop specific software according to their own scenario needs.
如图1所示,为一种ZNS的结构示意图,其中包括,应用层、主机Host和SSD。其中,应用层中包括至少一个业务应用,图1中示出3个业务应用,实际还可以包括更多或者更少的业务应用。在应用层之下的是Host端,Host端中包括:业务应用引擎、分区FTL中的数据排布/垃圾回收,以及主机ZBD(zone block device)驱动等。主机Host端通过Zone分区连接硬盘SSD。As shown in Figure 1, it is a schematic structural diagram of a ZNS, including the application layer, host and SSD. The application layer includes at least one business application. Three business applications are shown in Figure 1. In fact, it may also include more or less business applications. Below the application layer is the Host side, which includes: business application engine, data arrangement/garbage collection in partition FTL, and host ZBD (zone block device) driver, etc. The host side connects the hard disk SSD through the Zone partition.
其中,SSD中包括:NVMe、可做错误处理/磨损均衡处理的FTL,以及介质管理等。介质管理用于连接NAND(闪存),闪存是一种电可擦除可编程只读存储器。在NAND中包含至少一个资源块(block),每个资源块用于存储数据。Among them, SSD includes: NVMe, FTL that can do error handling/wear leveling, and media management. Media management is used to connect NAND (flash memory), which is an electrically erasable programmable read-only memory. NAND contains at least one resource block (block), and each resource block is used to store data.
随着数据资源块大小增大和数据量增多,在ZNS SSD中对于每个资源块需要更多/更长的开放时间,以获得更多的技术收益,因此在新的3D NAND技术上,设置每个资源块写入数据的开放时间变得越来越关键。目前,设置每个资源块中每个字线的开放时间阈值的方法是,需要覆盖到最糟糕的字线,以确保SSD不会丢失任何资源块上的数据。这种情况下,每个资源块的关闭或保持开放的时间取决于每个资源块预设的时间阈值,比如24小时、48小时。如果按照最糟糕的时间阈值,比如24小时或48小时则会导致WA(WriteAmplification,写放大)和GC(garbage collection,垃圾回收),从而影响SSD硬盘存储的性能和寿命、增加功耗。As the size of data resource blocks increases and the amount of data increases, more/longer opening time is required for each resource block in ZNS SSD to obtain more technical benefits. Therefore, on the new 3D NAND technology, each resource block is set to The open time for writing data to a resource block becomes increasingly critical. Currently, the way to set the open time threshold of each word line in each resource block is to cover the worst word line to ensure that the SSD does not lose data on any resource block. In this case, the time each resource block is closed or remains open depends on the preset time threshold for each resource block, such as 24 hours or 48 hours. If the worst time threshold is used, such as 24 hours or 48 hours, it will cause WA (Write Amplification, write amplification) and GC (garbage collection, garbage collection), thus affecting the performance and life of SSD hard disk storage and increasing power consumption.
为了解决上述技术问题,本公开实施例提供了一种资源块的数据写入方法,需要说明的是,在附图的流程图示出的步骤,可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。In order to solve the above technical problems, embodiments of the present disclosure provide a data writing method for resource blocks. It should be noted that the steps shown in the flow chart of the accompanying drawings can be implemented in a computer system such as a set of computer executable instructions. are performed, and, although a logical order is shown in the flowcharts, in some cases the steps shown or described may be performed in an order different from that herein.
本实施例提供的方法,可由包含SSD结构的电子设备,比如个人计算机PC或移动终端执行,或者还可以由SSD控制器执行。且上述电子设备的结构可以如图1所示,在图1所示的NAND中,每个资源块的结构如图2所示。The method provided in this embodiment can be executed by an electronic device including an SSD structure, such as a personal computer PC or a mobile terminal, or can also be executed by an SSD controller. And the structure of the above electronic device can be as shown in Figure 1. In the NAND shown in Figure 1, the structure of each resource block is as shown in Figure 2.
图2中,每个资源块包括相对独立的至少一个字线(wordline,WL),比如字线WL0、WL1、WL2、......、WL N等,每个字线WL用于存储数据,即将数据写入至每个资源块的每个字线上。此外,每个资源块中还包括位线(BitLine,BL)。In Figure 2, each resource block includes at least one relatively independent word line (WL), such as word lines WL0, WL1, WL2, ..., WL N, etc., each word line WL is used for storage Data, that is, writing data to each word line of each resource block. In addition, each resource block also includes a bit line (BitLine, BL).
其中,每个字线WL上包含至少一个页面,本实施例中假设每个WL包含3个页面(page),比如字线WL 0包含页面page0、页面page1和页面page2。此外,在其他WL上还可以包括更多或更少的页面。Each word line WL includes at least one page. In this embodiment, it is assumed that each WL includes three pages. For example, word line WL 0 includes page page0, page page1, and page page2. Additionally, more or fewer pages can be included on other WLs.
下面对本实施例提供的方法进行详细说明。The method provided in this embodiment will be described in detail below.
本实施例提供的一种资源块的数据写入方法。该方法包括两部分流程,一部分是字线的开放时间配置阶段,另一部分是字线开放时间使用阶段。This embodiment provides a data writing method for resource blocks. The method includes two parts of the process, one is the word line opening time configuration stage, and the other is the word line opening time using stage.
其中,在第一部分“配置阶段”主要包括:根据制造测试数据,确定批次到批次,芯片到芯片变化的盘(drive)对每个资源块开放时间的影响,然后,根据SSD开发过程中的特性数据确定一个布尔方程;最后,根据布尔方程设置限制,在生命周期中确定每个资源块上字线的开放时间阈值。Among them, the first part of the "configuration phase" mainly includes: based on the manufacturing test data, determining the impact of batch-to-batch and chip-to-chip changes on the opening time of each resource block, and then, based on the SSD development process The characteristic data determines a Boolean equation; finally, limits are set according to the Boolean equation, and the opening time threshold of the word line on each resource block is determined during the life cycle.
具体地,参见图3,为本实施例提供的一种资源块的数据写入方法,该方法包括:Specifically, referring to Figure 3, this embodiment provides a data writing method for resource blocks. The method includes:
步骤S101,获取固态硬盘SSD中每个资源块的测试数据,以及获取基于所述SSD中的特性数据确定的关联关系。Step S101: Obtain the test data of each resource block in the solid state drive SSD, and obtain the association determined based on the characteristic data in the SSD.
其中,该测试数据包括每个资源块中至少一个字线上不同页面的错误数FBC(failbit count)。其中,bit count函数用于统计一个数的二进制位有多少个1。具体地,制造固件在SSD生产测试中,通过将数据写入NAND闪存后从中读取,获得了每个资源块中每个页面(page)的FBC。如图4所示,示出3个FBC曲线,每个FBC曲线表示一个SSD上一个资源块(block)在不同页面page下的FBC,即不同page和FBC之间的关系,该关系可通过FBC直方图表示。The test data includes the number of errors FBC (failbit count) on different pages on at least one word line in each resource block. Among them, the bit count function is used to count how many 1's there are in the binary bits of a number. Specifically, during SSD production testing, the manufacturing firmware obtained the FBC of each page in each resource block by writing data to the NAND flash memory and then reading from it. As shown in Figure 4, three FBC curves are shown. Each FBC curve represents the FBC of a resource block (block) on an SSD under different pages, that is, the relationship between different pages and FBC. This relationship can be expressed through FBC Histogram representation.
假设封装前的单个单元的裸片叫做die。图4中,示出了SSD k、SSD j和SSD i共3个SSD中,资源块p、资源块n和资源块m,这3个资源块中每个资源块的页面与FBC之间关系曲线。并且,每个资源块所包含的页面数为N个,编号为page 0至page N-1。如图4所示,纵坐标为制造测试中进行写入后,读取的资源块中每个页面的FBC测量值,横坐标为页面编号,从0~N-1共N个page。Assume that the single unit die before packaging is called die. Figure 4 shows the relationship between resource block p, resource block n and resource block m in three SSDs, SSD k, SSD j and SSD i. The page of each resource block in these three resource blocks and FBC are shown. curve. Furthermore, each resource block contains N pages, numbered from page 0 to page N-1. As shown in Figure 4, the ordinate is the FBC measurement value of each page in the resource block read after writing in the manufacturing test, and the abscissa is the page number, ranging from 0 to N-1 in total N pages.
上述步骤S101的一种实现方式是,通过对所述固态硬盘SSD中每个资源块做硬件测试,确定每个资源块中至少一个字线上,每个字线所对应的不同页面的FBC,并根据所述FBC得到所述测试数据。其中,每个WL对应3个page,4k byte×4为1个page大小,即一个page占用16k byte(字节),则每个WL需要占用48k byte。One way to implement the above step S101 is to perform hardware testing on each resource block in the solid state drive SSD to determine the FBC of different pages corresponding to at least one word line in each resource block and each word line. And obtain the test data according to the FBC. Among them, each WL corresponds to 3 pages, and 4k byte × 4 is the size of one page, that is, one page occupies 16k bytes (bytes), so each WL needs to occupy 48k bytes.
SSD控制器将每个页面的FBC通过ECC(Error Checking and Correcting,错误检查和纠正技术)引擎传递给主机Host端。对于TLC(Trinary level cell,三层式储存单元)块,每个存储单位可以存储3bit的信息。其中TLC是目前最常见到的闪存颗粒,应用非常广泛,其擦写寿命能够达到约1000-3000次不等。与SLC(single level cell,单层单元)和MLC(Multi Level Cell,为多层单元)相比,TLC的速度更低,质量和寿命也不高,但其成本更低且能够满足日常生活需要,性价比很高,是目前中高端市场上的主流芯片。The SSD controller passes the FBC of each page to the host through the ECC (Error Checking and Correcting) engine. For TLC (Trinary level cell, three-level storage unit) block, each storage unit can store 3 bits of information. Among them, TLC is the most common flash memory particle at present. It is widely used and its erase and write life can reach about 1000-3000 times. Compared with SLC (single level cell, single level cell) and MLC (Multi Level Cell, multi-level cell), TLC has lower speed, lower quality and lifespan, but its cost is lower and it can meet the needs of daily life , very cost-effective, and is currently the mainstream chip in the mid-to-high-end market.
另外,在本步骤中,布尔方程表示SSD中不同擦写次数PE(program erase)循环cycle的时间戳与每个字线之间的关系。In addition, in this step, the Boolean equation represents the relationship between the timestamps of different PE (program erase) cycles in the SSD and each word line.
步骤S102,根据所述不同页面的FBC确定目标字线的权重值,所述目标字线是所述至少一个字线之一。Step S102: Determine the weight value of the target word line according to the FBC of the different pages, and the target word line is one of the at least one word line.
具体地,一种实施方式是,先获取采样数据库,所述采样数据库中记录目标字线所包含的若干个页面与每个页面的FBC之间的对应关系。该对应关系可以通过记录分布曲线表示,该分布曲线上的所有点对应一个范围的权重值区间,比如对应权重值[0,1]。Specifically, one implementation is to first obtain a sampling database that records the correspondence between several pages included in the target word line and the FBC of each page. This corresponding relationship can be expressed by recording a distribution curve. All points on the distribution curve correspond to a range of weight value intervals, such as corresponding weight values [0,1].
然后,根据目标字线上的每个页面的FBC和所述采样数据库的对应关系,确定目标字线的权重值。具体地,通过上述每个曲线上页面page与FBC之间的对应关系,以及测试数据中的FBC确定当前字线所在的SSD,最后根据上述采样数据库中每个SSD分配的权重值,确定当前要写入数据的字线WL所对应的权重值。Then, according to the corresponding relationship between the FBC of each page on the target word line and the sampling database, the weight value of the target word line is determined. Specifically, the SSD where the current word line is located is determined through the corresponding relationship between the page and the FBC on each of the above curves, and the FBC in the test data. Finally, based on the weight value assigned to each SSD in the above sampling database, the current desired SSD is determined. The weight value corresponding to the word line WL where data is written.
主机为每个SSD分配一个权重。比如主机为SSD i分配了一个权重值为Wi,假设Wi=0.5,为SSD j分配的权重值Wj=0.7,为SSD k分配了的权重值Wk=1。在制造测试期间将这些权重值写回至每个SSD,并将每个驱动器的权重保存在NAND闪存中作为步骤S103中用于确定每个驱动器的资源块上字线WL的开放时间参数,比如开放时间阈值。The host assigns a weight to each SSD. For example, the host assigns a weight value Wi to SSD i. Assume Wi=0.5, the weight value Wj=0.7 assigned to SSD j, and the weight value Wk=1 assigned to SSD k. These weight values are written back to each SSD during manufacturing testing, and the weights for each drive are saved in the NAND flash memory as the open time parameters used to determine the word line WL on the resource block of each drive in step S103, such as Open time threshold.
本实施例中,假设根据FBC确定出对应的SSD是SSD j,则通过上述采样数据库中的权重值Wj,可以确定出当前目标字线的权重为Wj=0.7。In this embodiment, assuming that the corresponding SSD is determined to be SSD j according to FBC, it can be determined that the weight of the current target word line is Wj=0.7 through the weight value Wj in the above-mentioned sampling database.
步骤S103,根据所述目标字线的权重值和所述关联关系,计算所述目标字线的开放时间阈值。Step S103: Calculate the open time threshold of the target word line based on the weight value of the target word line and the association relationship.
其中,该关联关系表示不同擦写次数PE cycles的时间戳与每个字线之间的关系,由于SSD中数据会不断擦写,该关联关系中记录PE cycles下擦写到一定程度时的开放时间open time与WL之间的对应关系。上述关联关系可以是基于SSD开发和NAND闪存特性对资源块开放时间确定的。具体地,在SSD开发过程中,需要对新的NAND闪存进行特性化和合格化。在资源块特性化过程中,数据被写入到每个资源块的不同WL中,因此设置每个资源块的WL对应的开放时间阈值。Among them, this correlation represents the relationship between the timestamps of different PE cycles and each word line. Since data in the SSD will continue to be erased, this correlation records the opening of PE cycles when erasing to a certain extent. The correspondence between time open time and WL. The above association relationship may be determined based on the resource block opening time based on SSD development and NAND flash memory characteristics. Specifically, during the SSD development process, new NAND flash memories need to be characterized and qualified. During the resource block characterization process, data is written to different WLs of each resource block, so the open time threshold corresponding to the WL of each resource block is set.
可选的,上述关联关系可以通过布尔方程表示。Optionally, the above correlation relationship can be expressed by a Boolean equation.
上述步骤S103具体包括:根据目标字线的权重值和SSD中不同擦写次数循环的时间戳与每个字线之间的关系,确定所述目标字线对应的时间戳,然后将该时间戳记为所述开放时间阈值。具体地,一种实施方式是,利用关系式计算确定,所述关系式为:T=f(N)×W。The above step S103 specifically includes: determining the time stamp corresponding to the target word line based on the weight value of the target word line and the relationship between the timestamps of different erasing and writing cycles in the SSD and each word line, and then adding the timestamp to the target word line. is the opening time threshold. Specifically, one implementation is to calculate and determine using a relational expression, which is: T=f(N)×W.
其中,T表示目标字线的时间戳,即开放时间阈值、W表示权重值、N为资源块中的字线个数,N≥1且为正整数;关联关系可以是一布尔方程,该布尔方程表示为f(N)。另外,T表示具有已编程数据的最后一个字线WL N的资源块的开放时间阈值。Among them, T represents the timestamp of the target word line, that is, the open time threshold, W represents the weight value, N is the number of word lines in the resource block, N≥1 and is a positive integer; the association relationship can be a Boolean equation, the Boolean The equation is expressed as f(N). In addition, T represents the open time threshold of the resource block of the last word line WL N with programmed data.
例如图5所示,为两个SSD在不同PE下的布尔方程,其中,上面的曲线表示PE=1K时,对应的布尔方程f(N);下面的曲线表示在PE=10K时,对应的布尔方程f(N)。计算f(N)×W后得到不同字线所对应的开放时间阈值。For example, Figure 5 shows the Boolean equations of two SSDs under different PEs. The upper curve represents the corresponding Boolean equation f(N) when PE=1K; the lower curve represents the corresponding Boolean equation f(N) when PE=10K. Boolean equation f(N). After calculating f(N)×W, the open time thresholds corresponding to different word lines are obtained.
步骤S104,当需要对所述目标字线写入数据时,根据所述目标字线的开放时间阈值,写入数据。Step S104: When data needs to be written to the target word line, data is written according to the open time threshold of the target word line.
具体地,步骤S104为上述配置每个WL的开放时间阈值的应用阶段,如图6所示,该步骤S104具体包括:Specifically, step S104 is the application stage of configuring the opening time threshold of each WL. As shown in Figure 6, step S104 specifically includes:
步骤S1041:获取所述目标字线的当前开放时间。Step S1041: Obtain the current opening time of the target word line.
假设第一字线WL1是当前要写入资源块的一个字线,要写入的字线控制器预先知道。It is assumed that the first word line WL1 is a word line currently to be written into the resource block, and the word line controller to be written is known in advance.
步骤S1042:判断所述当前开放时间是否大于所述目标字线的开放时间阈值。Step S1042: Determine whether the current opening time is greater than the opening time threshold of the target word line.
如果是,则执行步骤S1043;如果否,则执行步骤S1044。If yes, perform step S1043; if not, perform step S1044.
步骤S1043:如果大于所述开放时间阈值,则关闭对目标字线的写入开关,停止将数据写入目标字线。Step S1043: If it is greater than the open time threshold, turn off the write switch to the target word line and stop writing data to the target word line.
比如,当前第一字线WL1的开放时间是t1,第一字线WL1配置的开放时间阈值是t2。比较t1和t2,如果t1>t2,则确定WL1的开放时间已经超过预先设置的开放时间阈值t2,则关闭第一字线WL1连接的存储单元的晶体管,停止将数据写入和存储。For example, the current open time of the first word line WL1 is t1, and the configured open time threshold of the first word line WL1 is t2. Comparing t1 and t2, if t1>t2, it is determined that the open time of WL1 has exceeded the preset open time threshold t2, then the transistor of the memory cell connected to the first word line WL1 is turned off, and data writing and storage are stopped.
步骤S1044:如果小于等于所述开放时间阈值,则继续执行对目标字线的数据写入操作。Step S1044: If it is less than or equal to the open time threshold, continue to perform the data writing operation on the target word line.
具体地,将与第一字线WL1连接的存储单元的晶体管打开,向第一字线WL1连接的存储单元中写入数据,并保持开启至第一字线的开放时间阈值t2后关闭,所述t2大于t1。Specifically, the transistor of the memory cell connected to the first word line WL1 is turned on, data is written into the memory cell connected to the first word line WL1, and remains turned on until the opening time threshold t2 of the first word line and then turned off, so Said t2 is greater than t1.
可选的,在另一示例中,循环执行上述步骤S1041~S1044,例如在资源块0中的字线WL 0上写入数据,在资源块1中的字线WL 1上写入数据,在资源块N-1中的字线WL N-1上写入数据,在资源块N中的字线WL N上写入数据,直到数据都写入NAND闪存后,闪存芯片经过高温烘烤以加速电荷流失。Optionally, in another example, the above steps S1041 to S1044 are executed cyclically, for example, data is written on word line WL 0 in resource block 0, data is written on word line WL 1 in resource block 1, and data is written on word line WL 1 in resource block 1. Write data on word line WL N-1 in resource block N-1, write data on word line WL N in resource block N, until the data is written into the NAND flash memory, the flash memory chip is baked at high temperature to accelerate Charge loss.
控制器每小时从最后一个WL的每个块中读取数据。例如,测试程序从资源块0中读取WL 0上的数据,从资源块1中读取WL 1上写入的数据,从资源块N-1中读取WL N-1上的数据,从资源块N中读取WL N上的数据。当FBC达到ECC硬解码阈值时,保存WL的时间。重复此过程以获得PE周期为1K、3K、5K、7K和10K的数据。每个PE周期都会生成一个布尔方程,T=f(N),进而通过上述确定的开放时间阈值控制目标字线是否继续写入数据。The controller reads data from each block of the last WL every hour. For example, the test program reads the data on WL 0 from resource block 0, reads the data written on WL 1 from resource block 1, reads the data on WL N-1 from resource block N-1, and reads the data on WL N-1 from resource block 1. Read the data on WL N in resource block N. When FBC reaches the ECC hard decoding threshold, save the time of WL. Repeat this process to obtain data with PE periods of 1K, 3K, 5K, 7K and 10K. Each PE cycle generates a Boolean equation, T=f(N), and then controls whether the target word line continues to write data through the above-determined open time threshold.
本实施例提供的方法,使用来自制造厂测试数据和SSD开发的特性数据来确定资源块中每个字线的开放时间阈值,由于该时间开放阈值是基于硬盘SSD测试数据和关联关系确定,不依赖于最糟糕的字线设置的时间开放阈值,因此本方法确定每个字线的时间开放阈值相较于采用最糟糕字线的设置方法来说,可以延长资源块的开放时间延长,从而有效减少垃圾回收和写放大造成的影响,提高SSD系统的性能、降低功耗和延长使用寿命。The method provided in this embodiment uses the test data from the manufacturer and the characteristic data developed by the SSD to determine the opening time threshold of each word line in the resource block. Since the time opening threshold is determined based on the hard disk SSD test data and the association relationship, it does not It relies on the time opening threshold set by the worst word line. Therefore, this method determines the time opening threshold of each word line. Compared with the setting method using the worst word line, the opening time of the resource block can be extended, thereby effectively Reduce the impact of garbage collection and write amplification, improve SSD system performance, reduce power consumption and extend service life.
例如图7所示,原按照最糟糕字线假设a2点,设置时间开放阈值为5h(小时),因为是基于整个SSD的时间阈值曲线的最小值(波谷),则按照t2=5h设置,若当前目标字线的开放时间已经超过5h,比如6h时,则要关闭写入数据操作。按照本实施例的方法,设置的目标字线a1的时间开放阈值为10h,不是用的最小值(5h),所以若当前已经开放时间为6h,则还可以继续写4h的数据,相比于之前5h就关闭写入,本方法延长了字线的数据写入时间,因此可有效减少GC和WA,尤其是对于多个资源块的数据写入,显著地提高系统整体性能、降低功耗。For example, as shown in Figure 7, based on the worst word line assumption of point a2, the time open threshold is set to 5h (hour). Because it is based on the minimum value (trough) of the time threshold curve of the entire SSD, it is set according to t2 = 5h. If When the open time of the current target word line has exceeded 5h, for example, 6h, the write data operation must be closed. According to the method of this embodiment, the time opening threshold of the target word line a1 is set to 10h, which is not the minimum value (5h). Therefore, if the current opening time is 6h, you can continue to write 4h of data. Compared with Writing was turned off 5h before. This method extends the data writing time of the word line, so it can effectively reduce GC and WA, especially for data writing of multiple resource blocks, significantly improve the overall system performance and reduce power consumption.
此外,本方法使用的布尔方程根据上一个字线WL确定,从而减少了表查找时间;并且,使用PE循环范围来确定不同的布尔方程,以更准确地确定出最大资源块开放时间,从而保证开放块数据的可靠性。In addition, the Boolean equation used in this method is determined based on the previous word line WL, thereby reducing the table lookup time; and the PE cycle range is used to determine different Boolean equations to more accurately determine the maximum resource block opening time, thereby ensuring Open block data reliability.
可选的,在本实施例的另一种实施方式中,上述步骤S104之后,方法还包括:当资源块上的字线都写满数据时,可以对该资源块的数据进行搬移。具体地,包括:Optionally, in another implementation of this embodiment, after the above step S104, the method further includes: when all the word lines on the resource block are filled with data, the data of the resource block can be moved. Specifically, including:
当目标字线所在的目标资源块上所有字线写满数据时,获取目标字线的当前数据保留时间;判断所述当前数据保留时间是否大于保留时间阈值;如果是,则将所述目标资源块上的数据搬移至另一资源块。所述目标字线可以是目标资源块block上的任一字线,比如最后一个字线WL。When all word lines on the target resource block where the target word line is located are filled with data, obtain the current data retention time of the target word line; determine whether the current data retention time is greater than the retention time threshold; if so, the target resource The data on the block is moved to another resource block. The target word line may be any word line on the target resource block, such as the last word line WL.
其中,目标字线的当前数据保留时间由上述每个页面的FBC测试确定,其具体过程与前述步骤S1041中获取目标字线的当前开放时间的过程相同,参见前述步骤S1041,本实施例此处不再赘述。另外,所述保留时间阈值也可由系统/用户自定义设置,该保留时间阈值也称为time retention,用于检测每个字线的保留时间,根据该保留时长确定是否对资源块做数据搬移。Among them, the current data retention time of the target word line is determined by the above-mentioned FBC test of each page. The specific process is the same as the process of obtaining the current opening time of the target word line in the aforementioned step S1041. See the aforementioned step S1041. Here in this embodiment No longer. In addition, the retention time threshold can also be set by the system/user. The retention time threshold is also called time retention and is used to detect the retention time of each word line and determine whether to move data to the resource block based on the retention time.
如果判断超过保留时间阈值,则表示可以更新数据,即对资源块上的数据做搬移。如果未超过保留时间阈值,则可以继续保存资源块上的数据,直到时长达到所述保留时间阈值后再迁移资源块中的数据。If it is determined that the retention time threshold is exceeded, it means that the data can be updated, that is, the data on the resource block can be moved. If the retention time threshold is not exceeded, the data on the resource block can continue to be saved until the time reaches the retention time threshold, and then the data in the resource block is migrated.
本方法在数据搬移前,通过将字线上的数据保留时间与保留时间阈值进行比较,在超过保留时间阈值的情况下,才可以对数据做搬移,如果不对资源块中的数据做搬移,那么就会导致资源块中数据长久地写在字线上,由于数据不是最新的数据,导致数据不可靠,本实施例中通过周期性触发将数据从目标资源块搬移到另一资源块,保证存储在目标字线上的数据是新的数据,从而提高了数据的可靠性。This method compares the data retention time on the word line with the retention time threshold before data is moved. Only when the retention time threshold is exceeded, the data can be moved. If the data in the resource block is not moved, then This will cause the data in the resource block to be written on the word line for a long time. Since the data is not the latest data, the data is unreliable. In this embodiment, the data is moved from the target resource block to another resource block through periodic triggering to ensure storage. The data on the target word line is new data, thus improving the reliability of the data.
在本实施例中还提供了一种资源块的数据写入装置,该装置用于实现上述实施例及优选实施方式,已经进行过说明的不再赘述。如以下所使用的,术语“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。This embodiment also provides a resource block data writing device, which is used to implement the above embodiments and preferred implementations. What has already been described will not be described again. As used below, the term "module" may be a combination of software and/or hardware that implements a predetermined function. Although the apparatus described in the following embodiments is preferably implemented in software, implementation in hardware, or a combination of software and hardware, is also possible and contemplated.
本实施例提供一种资源块的数据写入装置,如图8所示,该装置包括:获取模块801、确定模块802、计算模块803和写入模块804,此外,还可以包括其他更多或更少模块,本实施例对此不作限制。This embodiment provides a data writing device for resource blocks. As shown in Figure 8, the device includes: an acquisition module 801, a determination module 802, a calculation module 803 and a writing module 804. In addition, it may also include other more or Fewer modules, this embodiment does not limit this.
其中,获取模块801,用于获取固态硬盘SSD中每个资源块的测试数据,以及获取基于所述SSD中的特性数据确定的关联关系,其中所述测试数据包括每个资源块中至少一个字线上不同页面的错误数FBC,所述关联关系表示所述SSD中不同擦写次数循环的时间戳与每个字线之间的关系。Among them, the acquisition module 801 is used to obtain the test data of each resource block in the solid state drive SSD, and obtain the association relationship determined based on the characteristic data in the SSD, where the test data includes at least one word in each resource block. The number of errors FBC of different pages on the line, the correlation represents the relationship between the timestamps of different erasing and writing cycles in the SSD and each word line.
确定模块802,用于根据所述不同页面的FBC确定目标字线的权重值,所述目标字线是所述至少一个字线之一。Determining module 802 is configured to determine the weight value of a target word line according to the FBC of the different pages, and the target word line is one of the at least one word line.
计算模块803,用于根据所述目标字线的权重值和所述关联关系,计算所述目标字线的开放时间阈值。The calculation module 803 is configured to calculate the open time threshold of the target word line according to the weight value of the target word line and the association relationship.
写入模块804,用于当需要对所述目标字线写入数据时,根据所述目标字线当前开放时间和所述开放时间阈值,写入数据。The writing module 804 is configured to write data according to the current opening time of the target word line and the opening time threshold when data needs to be written to the target word line.
可选的,在本实施例的一种可能的实施方式中,获取模块801,具体用于对所述固态硬盘SSD中每个资源块做硬件测试,确定每个资源块中至少一个字线上,根据每个字线所对应的FBC得到所述测试数据。其中,每个字线所对应的不同页面的FBC。Optionally, in a possible implementation of this embodiment, the acquisition module 801 is specifically configured to perform a hardware test on each resource block in the solid state drive SSD to determine at least one word line in each resource block. , the test data is obtained according to the FBC corresponding to each word line. Among them, each word line corresponds to the FBC of different pages.
可选的,在本实施例的另一种可能的实施方式中,确定模块802,具体用于获取采样数据库,根据所述目标字线上的每个页面的FBC和采样数据库中的对应关系,确定所述目标字线的权重值。其中,采样数据库中记录所述目标字线所包含的至少一个页面与每个页面的FBC之间的对应关系。Optionally, in another possible implementation of this embodiment, the determination module 802 is specifically used to obtain a sampling database, and according to the corresponding relationship between the FBC of each page on the target word line and the sampling database, Determine the weight value of the target word line. Wherein, the corresponding relationship between at least one page included in the target word line and the FBC of each page is recorded in the sampling database.
可选的,在本实施例的又一种可能的实施方式中,计算模块803,具体还用于根据所述目标字线的权重值和SSD中不同擦写次数循环的时间戳与每个字线之间的关系,确定所述目标字线对应的时间戳,并将所述时间戳记为开放时间阈值。Optionally, in another possible implementation of this embodiment, the calculation module 803 is specifically configured to calculate the weight value of the target word line and the timestamp of different erasing and writing cycles in the SSD with each word. The relationship between the lines is determined, the timestamp corresponding to the target word line is determined, and the timestamp is marked as an open time threshold.
其中,关系式为:T=f(N)×WAmong them, the relationship formula is: T=f(N)×W
其中,T表示目标字线的开放时间阈值、f(N)表示布尔方程,W表示权重值、N表示字线个数,N≥1且为正整数。Among them, T represents the open time threshold of the target word line, f(N) represents the Boolean equation, W represents the weight value, N represents the number of word lines, and N≥1 and is a positive integer.
可选的,在本实施例的又一种可能的实施方式中,写入模块804,具体用于获取所述目标字线的当前开放时间;判断所述当前开放时间是否大于所述目标字线的开放时间阈值;如果是,则关闭对所述目标字线的写入开关,停止将数据写入目标字线;如果否,则继续开启写入开关,执行对目标字线的数据写入操作。Optionally, in another possible implementation of this embodiment, the writing module 804 is specifically configured to obtain the current opening time of the target word line; determine whether the current opening time is greater than the target word line. The open time threshold; if yes, turn off the write switch to the target word line and stop writing data to the target word line; if not, continue to turn on the write switch and perform the data write operation on the target word line .
可选的,在本实施例的又一种可能的实施方式中,获取模块801,还用于当目标字线所在的目标资源块上所有字线写满数据时,获取所述目标字线的当前数据保留时间。Optionally, in another possible implementation of this embodiment, the acquisition module 801 is also configured to acquire the data of the target word line when all word lines on the target resource block where the target word line is located are filled with data. Current data retention time.
该装置还包括:比较模块和传输模块,该比较模块和传输模块在图8中未示出,其中,所述比较模块,用于判断所述当前数据保留时间是否大于保留时间阈值。The device also includes: a comparison module and a transmission module, which are not shown in Figure 8. The comparison module is used to determine whether the current data retention time is greater than a retention time threshold.
所述传输模块,用于在比较模块比较后确定当前数据保留时间大于保留时间阈值情况下,将所述目标资源块上的数据搬移至另一资源块。The transmission module is configured to move the data on the target resource block to another resource block when the comparison module determines that the current data retention time is greater than the retention time threshold.
本实施例提供的数据写入装置,可以根据SSD测试数据和SSD中特性数据确定出当前资源块要写入数据的字线的开放时间阈值,由于该时间开放阈值是基于硬盘SSD测试数据和关联关系确定,不依赖于最糟糕的字线设置的时间开放阈值,因此本方法确定每个字线的时间开放阈值相较于采用最糟糕字线的设置方法来说,可以延长资源块的开放时间延长,从而有效减少垃圾回收和写放大造成的影响,提高SSD系统的性能、降低功耗和延长使用寿命。The data writing device provided in this embodiment can determine the opening time threshold of the word line to which data is to be written in the current resource block based on the SSD test data and the characteristic data in the SSD. Since the time opening threshold is based on the hard disk SSD test data and association The relationship is determined and does not depend on the time opening threshold set by the worst word line. Therefore, this method determines the time opening threshold of each word line, which can extend the opening time of the resource block compared with the setting method of the worst word line. Extended, thereby effectively reducing the impact of garbage collection and write amplification, improving the performance of the SSD system, reducing power consumption and extending the service life.
此外,本装置还减少了未来NAND闪存架构的资源块大小,因为随着NAND中资源块数量的增多,可以对更多资源块上的字线设置时间开放阈值,从而使得更多的开放块(openblock)在时间开放阈值内写入数据,使整体SSD系统性能提供,从而承担更多ZNS应用和服务。In addition, this device also reduces the resource block size of future NAND flash architectures because as the number of resource blocks in NAND increases, time open thresholds can be set for word lines on more resource blocks, thus making more open blocks ( openblock) writes data within the time open threshold, so that the overall SSD system performance is improved, thereby undertaking more ZNS applications and services.
本实施例中的资源块的数据写入装置是以功能单元的形式来呈现,这里的单元是指ASIC电路,执行一个或多个软件或固定程序的处理器和存储器,和/或其他可以提供上述功能的器件。In this embodiment, the data writing device of the resource block is presented in the form of a functional unit, where the unit refers to an ASIC circuit, a processor and memory that executes one or more software or fixed programs, and/or other devices that can provide devices with the above functions.
上述各个模块和单元的更进一步的功能描述与上述对应实施例相同,在此不再赘述。Further functional descriptions of the above-mentioned modules and units are the same as those in the above-mentioned corresponding embodiments, and will not be described again here.
本公开实施例还提供一种电子设备,具有上述图8所示的资源块的数据写入装置。An embodiment of the present disclosure also provides an electronic device having the data writing device for resource blocks shown in FIG. 8 .
请参阅图9,是本公开可选实施例提供的一种电子设备的结构示意图,如图9所示,该电子设备包括:一个或多个处理器10、存储器20,以及用于连接各部件的接口,包括高速接口和低速接口。各个部件利用不同的总线互相通信连接,并且可以被安装在公共主板上或者根据需要以其它方式安装。处理器可以对在电子设备内执行的指令进行处理,包括存储在存储器中或者存储器上以在外部输入/输出装置(诸如,耦合至接口的显示设备)上显示图形信息的指令。Please refer to Figure 9, which is a schematic structural diagram of an electronic device provided by an optional embodiment of the present disclosure. As shown in Figure 9, the electronic device includes: one or more processors 10, a memory 20, and a device for connecting various components. interfaces, including high-speed interfaces and low-speed interfaces. Various components communicate with each other using different buses and can be installed on a common motherboard or in other ways as needed. The processor may process instructions executed within the electronic device, including instructions stored in or on memory to display graphical information on an external input/output device, such as a display device coupled to the interface.
在一些可选的实施方式中,若需要,可以将多个处理器和/或多条总线与多个存储器和多个存储器一起使用。同样,可以连接多个电子设备,各个设备提供部分必要的操作(例如,作为服务器阵列、一组刀片式服务器、或者多处理器系统)。图9中以一个处理器10为例。In some alternative implementations, multiple processors and/or multiple buses may be used with multiple memories and multiple memories, if desired. Likewise, multiple electronic devices can be connected, each device providing part of the necessary operation (eg, as a server array, a set of blade servers, or a multi-processor system). Figure 9 takes a processor 10 as an example.
处理器10可以是中央处理器,网络处理器或其组合。其中,处理器10还可以进一步包括硬件芯片。上述硬件芯片可以是专用集成电路,可编程逻辑器件或其组合。上述可编程逻辑器件可以是复杂可编程逻辑器件,现场可编程逻辑门阵列,通用阵列逻辑或其任意组合。The processor 10 may be a central processing unit, a network processor, or a combination thereof. The processor 10 may further include a hardware chip. The above-mentioned hardware chip can be an application-specific integrated circuit, a programmable logic device or a combination thereof. The above-mentioned programmable logic device may be a complex programmable logic device, a field programmable logic gate array, a general array logic or any combination thereof.
其中,所述存储器20存储有可由至少一个处理器10执行的指令,以使所述至少一个处理器10执行实现上述实施例示出的方法。The memory 20 stores instructions that can be executed by at least one processor 10, so that the at least one processor 10 executes the method shown in the above embodiment.
存储器20可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储根据一种小程序落地页的展现的电子设备的使用所创建的数据等。此外,存储器20可以包括高速随机存取存储器,还可以包括非瞬时存储器,例如至少一个磁盘存储器件、闪存器件、或其他非瞬时固态存储器件。在一些可选的实施方式中,存储器20可选包括相对于处理器10远程设置的存储器,这些远程存储器可以通过网络连接至该电子设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。The memory 20 may include a storage program area and a storage data area, wherein the storage program area may store an operating system and an application program required for at least one function; the storage data area may store the use of an electronic device according to the presentation of a small program landing page. Created data, etc. In addition, the memory 20 may include high-speed random access memory, and may also include non-transitory memory, such as at least one magnetic disk storage device, flash memory device, or other non-transitory solid-state storage device. In some optional implementations, the memory 20 optionally includes memories remotely located relative to the processor 10 , and these remote memories can be connected to the electronic device through a network. Examples of the above-mentioned networks include but are not limited to the Internet, intranets, local area networks, mobile communication networks and combinations thereof.
存储器20可以包括易失性存储器,例如,随机存取存储器;存储器也可以包括非易失性存储器,例如,快闪存储器,硬盘或固态硬盘;存储器20还可以包括上述种类的存储器的组合。本实施例中,所述存储器20中包括SSD。The memory 20 may include a volatile memory, such as a random access memory; the memory may also include a non-volatile memory, such as a flash memory, a hard disk or a solid state drive; the memory 20 may also include a combination of the above types of memories. In this embodiment, the memory 20 includes an SSD.
该电子设备还包括输入装置30和输出装置40。处理器10、存储器20、输入装置30和输出装置40可以通过总线或者其他方式连接,图9中以通过总线连接为例。The electronic device also includes an input device 30 and an output device 40 . The processor 10, the memory 20, the input device 30 and the output device 40 may be connected through a bus or other means. In Figure 9, connection through a bus is taken as an example.
输入装置30可接收输入的数字或字符信息,以及产生与该电子设备的用户设置以及功能控制有关的键信号输入,例如触摸屏、小键盘、鼠标、轨迹板、触摸板、指示杆、一个或者多个鼠标按钮、轨迹球、操纵杆等。输出装置40可以包括显示设备、辅助照明装置(例如,LED)和触觉反馈装置(例如,振动电机)等。上述显示设备包括但不限于液晶显示器,发光二极管,显示器和等离子体显示器。在一些可选的实施方式中,显示设备可以是触摸屏。The input device 30 may receive input numeric or character information and generate key signal input related to user settings and function control of the electronic device, such as a touch screen, a keypad, a mouse, a trackpad, a touch pad, a pointing stick, one or more mouse buttons, trackballs, joysticks, etc. The output device 40 may include a display device, an auxiliary lighting device (eg, an LED), a tactile feedback device (eg, a vibration motor), and the like. The above display devices include, but are not limited to, liquid crystal displays, light emitting diodes, monitors and plasma displays. In some optional implementations, the display device may be a touch screen.
该电子设备还包括通信接口,用于该电子设备与其他设备或通信网络通信。The electronic device also includes a communication interface for the electronic device to communicate with other devices or communication networks.
本公开实施例还提供了一种计算机可读存储介质,上述根据本公开实施例的方法可在硬件、固件中实现,或者被实现为可记录在存储介质,或者被实现通过网络下载的原始存储在远程存储介质或非暂时机器可读存储介质中并将被存储在本地存储介质中的计算机代码,从而在此描述的方法可被存储在使用通用计算机、专用处理器或者可编程或专用硬件的存储介质上的这样的软件处理。其中,存储介质可为磁碟、光盘、只读存储记忆体、随机存储记忆体、快闪存储器、硬盘或固态硬盘等;进一步地,存储介质还可以包括上述种类的存储器的组合。The embodiments of the present disclosure also provide a computer-readable storage medium. The above-mentioned method according to the embodiments of the present disclosure can be implemented in hardware, firmware, or can be recorded in the storage medium, or can be implemented as original storage downloaded through the network. Computer code in a remote storage medium or a non-transitory machine-readable storage medium and to be stored in a local storage medium such that the methods described herein may be stored on a computer using a general purpose computer, a special purpose processor, or programmable or special purpose hardware Such software processing on storage media. The storage medium may be a magnetic disk, an optical disk, a read-only memory, a random access memory, a flash memory, a hard disk or a solid state drive, etc.; further, the storage medium may also include a combination of the above types of memories.
可以理解,计算机、处理器、微处理器控制器或可编程硬件包括可存储或接收软件或计算机代码的存储组件,当软件或计算机代码被计算机、处理器或硬件访问且执行时,实现上述实施例示出的方法。It can be understood that a computer, processor, microprocessor controller or programmable hardware includes a storage component that can store or receive software or computer code. When the software or computer code is accessed and executed by the computer, processor or hardware, the above implementations are implemented. The method illustrated.
虽然结合附图描述了本公开的实施例,但是本领域技术人员可以在不脱离本公开的精神和范围的情况下做出各种修改和变型,这样的修改和变型均落入由所附权利要求所限定的范围之内。Although the embodiments of the present disclosure have been described in conjunction with the accompanying drawings, those skilled in the art can make various modifications and variations without departing from the spirit and scope of the disclosure, and such modifications and variations fall within the scope of the appended rights. within the scope of the requirements.
Claims (10)
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311667638.6A CN117632033A (en) | 2023-12-05 | 2023-12-05 | A data writing method, device, equipment and storage medium for resource blocks |
PCT/CN2024/135060 WO2025119061A1 (en) | 2023-12-05 | 2024-11-27 | Data writing method and apparatus for resource blocks, device and storage medium |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311667638.6A CN117632033A (en) | 2023-12-05 | 2023-12-05 | A data writing method, device, equipment and storage medium for resource blocks |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117632033A true CN117632033A (en) | 2024-03-01 |
Family
ID=90031872
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311667638.6A Pending CN117632033A (en) | 2023-12-05 | 2023-12-05 | A data writing method, device, equipment and storage medium for resource blocks |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN117632033A (en) |
WO (1) | WO2025119061A1 (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2025119061A1 (en) * | 2023-12-05 | 2025-06-12 | 脸萌有限公司 | Data writing method and apparatus for resource blocks, device and storage medium |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US12068052B2 (en) * | 2021-12-21 | 2024-08-20 | Micron Technology, Inc. | Preserving blocks experiencing program failure in memory devices |
CN114822650B (en) * | 2022-05-16 | 2022-11-29 | 北京得瑞领新科技有限公司 | Data writing method and device of NAND flash memory, storage medium and storage device |
CN116301631A (en) * | 2023-03-21 | 2023-06-23 | 苏州浪潮智能科技有限公司 | Method and device for improving read-write performance of hard disk, hard disk and storage medium |
CN117632033A (en) * | 2023-12-05 | 2024-03-01 | 脸萌有限公司 | A data writing method, device, equipment and storage medium for resource blocks |
-
2023
- 2023-12-05 CN CN202311667638.6A patent/CN117632033A/en active Pending
-
2024
- 2024-11-27 WO PCT/CN2024/135060 patent/WO2025119061A1/en unknown
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2025119061A1 (en) * | 2023-12-05 | 2025-06-12 | 脸萌有限公司 | Data writing method and apparatus for resource blocks, device and storage medium |
Also Published As
Publication number | Publication date |
---|---|
WO2025119061A1 (en) | 2025-06-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113297096B (en) | Variable read scan for quality of service of solid-state storage devices | |
US9251053B2 (en) | Managing configuration parameters for a non-volatile medium | |
EP2587362B1 (en) | Systems and methods for obtaining and using nonvolatile memory health information | |
CN104102585B (en) | Mapping information recording method, memory controller and memory storage device | |
US9239785B2 (en) | Stochastic block allocation for improved wear leveling | |
US8472274B2 (en) | Using temperature sensors with a memory device | |
US10108354B2 (en) | Memory controller operation | |
KR102164630B1 (en) | Memory controller, and operation method of the memory controller | |
US20160170871A1 (en) | Model based configuration parameter management | |
US10126970B2 (en) | Paired metablocks in non-volatile storage device | |
US10957411B2 (en) | Apparatus and method for managing valid data in memory system | |
US9881682B1 (en) | Fine grained data retention monitoring in solid state drives | |
US10628082B2 (en) | Data reading method and storage controller | |
EP3926451B1 (en) | Communication of data relocation information by storage device to host to improve system performance | |
US11442662B2 (en) | Data writing method, memory control circuit unit and memory storage apparatus | |
CN105988950A (en) | Memory management method, memory control circuit unit and memory storage device | |
WO2025119061A1 (en) | Data writing method and apparatus for resource blocks, device and storage medium | |
US12147674B1 (en) | Memory control method, memory storage device and memory control circuit unit | |
TW201526006A (en) | Data writing method, memory control circuit unit and memory storage apparatus | |
US20240289039A1 (en) | Memory system and method of performing background operation | |
US20210406169A1 (en) | Self-adaptive wear leveling method and algorithm | |
KR20240064318A (en) | Storage device and method thereof | |
CN119479735A (en) | A control method, parameter calculation method, memory and storage system | |
KR20200114212A (en) | Data storage device and operating method thereof | |
Janukowicz et al. | IN THIS WHITE PAPER |
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 |