WO2023202288A1 - Solid-state drive reading method, system and apparatus, and storage medium - Google Patents

Solid-state drive reading method, system and apparatus, and storage medium Download PDF

Info

Publication number
WO2023202288A1
WO2023202288A1 PCT/CN2023/082057 CN2023082057W WO2023202288A1 WO 2023202288 A1 WO2023202288 A1 WO 2023202288A1 CN 2023082057 W CN2023082057 W CN 2023082057W WO 2023202288 A1 WO2023202288 A1 WO 2023202288A1
Authority
WO
WIPO (PCT)
Prior art keywords
scheduling
solid
subjects
bus
read data
Prior art date
Application number
PCT/CN2023/082057
Other languages
French (fr)
Chinese (zh)
Inventor
邵文豪
钟戟
Original Assignee
苏州浪潮智能科技有限公司
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 苏州浪潮智能科技有限公司 filed Critical 苏州浪潮智能科技有限公司
Publication of WO2023202288A1 publication Critical patent/WO2023202288A1/en

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/0604Improving or facilitating administration, e.g. storage management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/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]

Definitions

  • This application relates to the field of solid-state hard disk task operation, and in particular to a solid-state hard disk reading method, a corresponding solid-state hard disk reading system, a corresponding solid-state hard disk reading device, and a corresponding computer non-volatile readable storage medium .
  • the flash memory particles NAND (NOT AND, meaning NOT AND (and non), related to the architecture of FLAHS) in the storage unit of the solid state drive are grouped into channels as units, and each channel has a controller.
  • the operations of each channel on NAND can be performed in parallel, and each channel does not affect each other.
  • the same channel controls the operations of multiple logical unit numbers (Logical Unit Number, LUN) concurrently, and each LUN performs its own operation tasks. , but all LUNs share a bus, and all LUNs will output data serially through the bus.
  • LUN Logical Unit Number
  • the purpose of this application is to provide a solid-state hard disk reading method, a corresponding solid-state hard disk reading system, a corresponding solid-state hard disk reading device, and a corresponding computer non-volatile readable storage medium. to improve reading efficiency.
  • the specific plan is as follows:
  • a solid-state disk reading method includes:
  • the total number of scheduling subjects is greater than that of the solid-state drive.
  • each scheduling subject corresponds to several planes in the solid state drive.
  • each scheduling subject corresponds to a plane.
  • the process of receiving a request message so that each scheduling subject executes a corresponding concurrent scheduling task according to the corresponding request message and transmits the read data corresponding to the scheduling task to the information receiving end through the bus includes:
  • a request message located to the corresponding scheduling subject is received, so that each scheduling subject executes the corresponding concurrent scheduling task according to the corresponding request message, and transmits the read data corresponding to the scheduling task through the bus to
  • the process at the information receiving end includes:
  • the total number of scheduling subjects is the same as the total number of contexts.
  • the process of each scheduling subject executing a corresponding concurrent scheduling task according to the corresponding request message and transmitting the read data corresponding to the scheduling task to the information receiving end through the bus includes:
  • Each scheduling subject executes the corresponding concurrent scheduling task according to the corresponding request message, and queues the read data corresponding to the scheduling task to the bus transmission queue, so that the read data is transmitted to the information receiving end through the bus.
  • this application also discloses a solid-state hard drive reading system, including:
  • An initialization module is used to initialize the back-end module of the solid-state drive to determine multiple scheduling subjects.
  • the total number of scheduling subjects is greater than the total number of logical unit numbers in the solid-state drive;
  • the allocation module is used to allocate context to each scheduling subject
  • the action module is used to receive request messages, so that each scheduling subject executes corresponding concurrent scheduling tasks according to the corresponding request messages, and transmits the read data corresponding to the scheduling tasks to the information receiving end through the bus.
  • this application also discloses a solid-state hard disk reading device, including:
  • Memory used to store computer programs
  • the processor is used to implement the steps of any of the above solid-state disk reading methods when executing a computer program.
  • this application also discloses a readable storage medium.
  • a computer program is stored on the readable storage medium.
  • the computer program is executed by a processor, the steps of any of the above solid-state disk reading methods are implemented.
  • This application discloses a solid-state drive reading method, which includes: initializing the back-end module of the solid-state drive to determine multiple scheduling subjects.
  • the total number of scheduling subjects is greater than the total number of logical unit numbers in the solid-state drive; for each Each scheduling subject is assigned context respectively; the request message is received, so that each scheduling subject executes the corresponding concurrent scheduling task according to the corresponding request message, and transmits the read data corresponding to the scheduling task to the information receiving end through the bus.
  • the embodiment of this application sets up more scheduling subjects than the logical unit number, and then makes the scheduling subjects perform concurrent scheduling tasks. Since there are more scheduling subjects, the concurrent scheduling tasks can be executed faster than the original logical unit number. At the same time, It can effectively utilize the idle bus to transmit and read data, significantly increasing the bus usage frequency and reducing resource waste.
  • Figure 1 is a step flow chart of a solid state disk reading method in an embodiment of the present application
  • Figure 2 is a timing distribution diagram of a solid-state disk reading method in an embodiment of the present application
  • Figure 3 is a timing distribution diagram of a solid-state hard disk read test in the related art
  • Figure 4 is a structural distribution diagram of a solid-state disk reading system in an embodiment of the present application.
  • Figure 5 is a schematic structural diagram of a solid-state hard disk reading device in an embodiment of the present application.
  • Figure 6 is a schematic structural diagram of a computer non-volatile readable storage medium in an embodiment of the present application.
  • This application sets up more scheduling subjects than the logical unit number, and then makes the scheduling subjects perform concurrent scheduling tasks. Since there are more scheduling subjects, the concurrent scheduling tasks can be executed faster than the original logical unit number, and at the same time, it can be effectively Using the idle bus to transmit read data significantly increases the bus usage frequency and reduces resource waste.
  • the embodiment of the present application discloses a solid-state hard drive reading method, as shown in Figure 1, which includes:
  • S1 Initialize the back-end module of the solid-state drive to determine multiple scheduling subjects.
  • the total number of scheduling subjects is greater than the total number of logical unit numbers in the solid-state drive;
  • S3 Receive the request message, so that each scheduling subject executes the corresponding concurrent scheduling task according to the corresponding request message, and transmits the read data corresponding to the scheduling task to the information receiving end through the bus.
  • the scheduling subject is used to perform scheduling tasks according to the corresponding request information, and transmit the corresponding read data to the information receiving end through the bus.
  • the information receiving end is connected to the solid state drive through the bus, sends the request information and receives the corresponding Read data.
  • each scheduling subject does not interfere with each other and can independently execute its own scheduling tasks. That is, the execution of scheduling tasks is concurrent, and the read data of multiple scheduling tasks is transmitted to the information receiving end through the bus. When, it is in the form of serial transmission.
  • the reading method in the embodiment of the present application allocates the scheduling subjects downward from the original logical unit number LUN through step S1, so that the number of scheduling subjects sending read data to the bus exceeds the total number of logical unit numbers LUN.
  • each A LUN includes multiple planes.
  • a plane is the smallest unit in NAND Flash that can be operated according to commands such as read, write, and erase.
  • each scheduling subject can be selected to correspond to several planes in the solid-state drive. Furthermore, each can be selected.
  • the scheduling subject corresponds to a plane. In this case, the solid-state disk reading method has the highest efficiency and bus utilization.
  • LUN-0 and LUN-1 each have four planes, namely plane-0 to plane-3.
  • Each scheduling subject corresponds to On a plane, all scheduling subjects execute concurrent scheduling tasks and transmit read data to the signal receiving end through the bus, as shown in Figure 2.
  • the time taken to execute concurrent scheduling tasks is tR (time of reading, reading time), and the scheduling task
  • tR time of reading, reading time
  • This period of time is BDT (Bulk Data Transfer) , batch data transmission), in the implementation of the read method in Figure 2, when the scheduling subject LUN-0-plane-0 is at tR, the read data transmission of 7 scheduling subjects can be completed on the bus at the same time, and the bus utilization rate is about 83.3 %, the idle ratio is 16.7%.
  • BDT Bit Data Transfer
  • step S2 allocates a context to each scheduling subject to provide an operating environment for the execution of the scheduling subject.
  • the number of allocable contexts in the system is sometimes limited and cannot be increased. If the number of allocable contexts is The total number exceeds the total number of planes in the solid state drive. In order to ensure that each scheduling subject can obtain the context, the total number of scheduling subjects will be limited by the number of contexts. In an optimal embodiment, the scheduling subject The total number of is the same as the total number of contexts.
  • each scheduling subject executes the corresponding concurrent scheduling task according to the corresponding request message, and the process of transmitting the read data corresponding to the scheduling task to the information receiving end through the bus includes:
  • Each scheduling subject executes the corresponding concurrent scheduling task according to the corresponding request message, and queues the read data corresponding to the scheduling task to the bus transmission queue, so that the read data is transmitted to the information receiving end through the bus.
  • step S3 is a process of receiving a request message so that each scheduling subject executes a corresponding concurrent scheduling task according to the corresponding request message, and transmits the read data corresponding to the scheduling task to the information receiving end through the bus, Specifically include:
  • the scheduling subject can execute the corresponding request information.
  • step S3 a request message located to the corresponding scheduling subject is received, so that each scheduling subject executes the corresponding concurrent scheduling task according to the corresponding request message, and reads the read data corresponding to the scheduling task through
  • the process of bus transmission to the information receiving end may include:
  • the total number of scheduling subjects exceeds the total number of logical unit numbers LUN, and the concurrency of operations represented by 4K random reads is greatly improved, and the performance is increased by multiples. Judging from the test results, the 4K random reading performance has been improved from the original 560K to 1600K, and the performance has increased by 2.8 times. As long as other indicators remain unchanged, the reading efficiency is much higher than the existing technology.
  • the embodiment of the present application discloses a solid-state drive reading method, which includes: initializing the back-end module of the solid-state drive, To determine multiple scheduling subjects, the total number of scheduling subjects is greater than the total number of logical unit numbers in the solid state drive; assign context to each scheduling subject; receive request messages so that each scheduling subject executes according to the corresponding request message The corresponding concurrent scheduling task is performed, and the read data corresponding to the scheduling task is transmitted to the information receiving end through the bus.
  • the embodiment of this application sets up more scheduling subjects than the logical unit number, and then makes the scheduling subjects perform concurrent scheduling tasks. Since there are more scheduling subjects, the concurrent scheduling tasks can be executed faster than the original logical unit number. At the same time, It can effectively utilize the idle bus to transmit and read data, significantly increasing the bus usage frequency and reducing resource waste.
  • the embodiment of the present application also discloses a solid-state hard drive reading system, as shown in Figure 4.
  • a solid-state hard drive reading system as shown in Figure 4.
  • Initialization module 1 is used to initialize the back-end module of the solid-state drive to determine multiple scheduling subjects.
  • the total number of scheduling subjects is greater than the total number of logical unit numbers in the solid-state drive;
  • Allocation module 2 used to allocate context to each scheduling subject
  • Action module 3 is used to receive request messages, so that each scheduling subject executes corresponding concurrent scheduling tasks according to the corresponding request messages, and transmits the read data corresponding to the scheduling tasks to the information receiving end through the bus.
  • the embodiment of this application sets up more scheduling subjects than the logical unit number, and then makes the scheduling subjects perform concurrent scheduling tasks. Since there are more scheduling subjects, the concurrent scheduling tasks can be executed faster than the original logical unit number. At the same time, It can effectively utilize the idle bus to transmit and read data, significantly increasing the bus usage frequency and reducing resource waste.
  • each scheduling subject corresponds to several planes in the solid state drive.
  • each scheduling subject corresponds to a plane.
  • the action module 3 is specifically configured to: receive a request message located to the corresponding scheduling subject, so that each scheduling subject executes the corresponding concurrent scheduling task according to the corresponding request message, and assigns the scheduling task to the corresponding
  • the read data is transmitted to the information receiving end through the bus.
  • the action module 3 is specifically configured to: receive a request message sent by FTL and located to the corresponding scheduling subject, so that each scheduling subject executes the corresponding concurrent scheduling task according to the corresponding request message, and The read data corresponding to the scheduled task is transmitted to the information receiving end through the bus.
  • the total number of scheduling subjects is the same as the total number of contexts.
  • the action module 3 is specifically used to: each scheduling subject executes a corresponding concurrent scheduling task according to the corresponding request message, and queues the read data corresponding to the scheduling task to the bus transmission queue, so that the read data Transmitted to the information receiving end through the bus.
  • the embodiments of the present application also disclose a solid-state hard drive reading device, including:
  • Memory 502 as shown in Figure 5 is used to store computer programs
  • the processor 501 is configured to implement the steps of the solid-state disk reading method in any of the above embodiments when executing a computer program.
  • the embodiment of the present application also discloses a computer non-volatile readable storage medium.
  • the computer non-volatile readable storage medium 6 stores a computer program 61, and the computer program 61 is processed.
  • the steps of the solid state disk reading method in any of the above embodiments are implemented.
  • the solid-state hard disk reading device and the readable storage medium in this embodiment have the same technical effects as the solid-state hard disk reading method in the above embodiment, and will not be described again here.

Abstract

The present application relates to solid-state drive task operation and discloses a solid-state drive reading method, system and apparatus, and a storage medium. The method comprises: initializing a rear-end module of a solid-state drive to determine a plurality of scheduling subjects, the total number of the scheduling subjects being greater than the total number of logical unit numbers in the solid-state drive; assigning a context to each of the scheduling subjects; and receiving a request message, so that each scheduling subject executes a corresponding concurrent scheduling task according to the corresponding request message, and transmits read data corresponding to the scheduling task to an information receiving end by means of a bus. The present application is used for executing a read task of a solid-state drive; scheduling subjects more than logical unit numbers in quantity are arranged in the present application, and then the scheduling subjects execute a concurrent scheduling task; due to the fact that the number of the scheduling subjects is larger, the speed of executing the concurrent scheduling task is higher than that of the original logical unit numbers, moreover, an idle bus can be effectively utilized to transmit read data, and the resource waste is reduced.

Description

一种固态硬盘读方法、系统、装置及存储介质Solid state hard drive reading method, system, device and storage medium
相关申请的交叉引用Cross-references to related applications
本申请要求于2022年04月22日提交中国专利局,申请号为202210424658.X,申请名称为“一种固态硬盘读方法、系统及相关组件”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。This application requires the priority of the Chinese patent application submitted to the China Patent Office on April 22, 2022, with the application number 202210424658. This reference is incorporated into this application.
技术领域Technical field
本申请涉及固态硬盘任务运行领域,特别涉及一种固态硬盘读方法、相应的一种固态硬盘读系统、相应的一种固态硬盘读装置,以及相应的一种计算机非易失性可读存储介质。This application relates to the field of solid-state hard disk task operation, and in particular to a solid-state hard disk reading method, a corresponding solid-state hard disk reading system, a corresponding solid-state hard disk reading device, and a corresponding computer non-volatile readable storage medium .
背景技术Background technique
在大数据时代,数据存储的重要性越来越明显。在CPU(Central Processing Unit,中央处理器)等部件的计算速率越来越高的同时,数据的存储和读取速率一直是系统运行速度的瓶颈问题。In the era of big data, the importance of data storage is becoming more and more obvious. While the computing speed of components such as the CPU (Central Processing Unit, Central Processing Unit) is getting higher and higher, the storage and reading rate of data has always been the bottleneck of the system's operating speed.
不同于传统硬盘,固态硬盘的存储单元中闪存颗粒NAND(NOT AND,具有NOT AND(与非)之意,与FLAHS的架构有关)以通道channel作为单元进行分组,每个通道具有一个控制器,各通道对NAND的操作可并行进行,各通道之间互不影响,同时,同一个通道内控制多个逻辑单元号(Logical Unit Number,LUN)的操作并发,每个LUN分别执行各自的操作任务,但所有LUN共用一条总线,所有LUN会将数据以串行方式通过总线输出。Different from traditional hard drives, the flash memory particles NAND (NOT AND, meaning NOT AND (and non), related to the architecture of FLAHS) in the storage unit of the solid state drive are grouped into channels as units, and each channel has a controller. The operations of each channel on NAND can be performed in parallel, and each channel does not affect each other. At the same time, the same channel controls the operations of multiple logical unit numbers (Logical Unit Number, LUN) concurrently, and each LUN performs its own operation tasks. , but all LUNs share a bus, and all LUNs will output data serially through the bus.
然而随着技术发展,每个LUN中的block数据块的容量越来越大,同时每个LUN中block的个数也越来越多,在固态硬盘的总容量不变时,block数量和容量的增多,会导致每个通道中可并行的LUN的个数越来越少,每个通道的读任务的执行主体越来越少,导致读效率的降低,同时还出现了数据总线闲置和资源浪费的问题。However, with the development of technology, the capacity of block data blocks in each LUN is getting larger and larger, and at the same time, the number of blocks in each LUN is also increasing. When the total capacity of the solid-state drive remains unchanged, the number and capacity of blocks The increase will lead to fewer and fewer parallel LUNs in each channel, and fewer and fewer execution subjects of read tasks in each channel, resulting in a reduction in read efficiency. At the same time, the data bus will be idle and resources will appear. The problem of waste.
发明内容Contents of the invention
有鉴于此,本申请的目的在于提供一种固态硬盘读方法、相应的一种固态硬盘读系统、相应的一种固态硬盘读装置,以及相应的一种计算机非易失性可读存储介质,以提高读效率。其具体方案如下:In view of this, the purpose of this application is to provide a solid-state hard disk reading method, a corresponding solid-state hard disk reading system, a corresponding solid-state hard disk reading device, and a corresponding computer non-volatile readable storage medium. to improve reading efficiency. The specific plan is as follows:
一种固态硬盘读方法,包括:A solid-state disk reading method includes:
对固态硬盘的后端模块进行初始化,以确定多个调度主体,调度主体的总个数大于固态 硬盘中逻辑单元号的总个数;Initialize the back-end module of the solid-state drive to determine multiple scheduling subjects. The total number of scheduling subjects is greater than that of the solid-state drive. The total number of logical unit numbers in the hard disk;
对每个调度主体分别分配上下文;Assign context to each scheduling subject separately;
接收请求消息,以使每个调度主体根据对应的请求消息执行相应的并发调度任务,并将调度任务对应的读数据通过总线传输到信息接收端。Receive the request message so that each scheduling subject executes the corresponding concurrent scheduling task according to the corresponding request message, and transmits the read data corresponding to the scheduling task to the information receiving end through the bus.
在本申请的一些实施例中,每个调度主体对应固态硬盘中的若干个plane。In some embodiments of the present application, each scheduling subject corresponds to several planes in the solid state drive.
在本申请的一些实施例中,每个调度主体对应一个plane。In some embodiments of the present application, each scheduling subject corresponds to a plane.
在本申请的一些实施例中,接收请求消息,以使每个调度主体根据对应的请求消息执行相应的并发调度任务,并将调度任务对应的读数据通过总线传输到信息接收端的过程,包括:In some embodiments of the present application, the process of receiving a request message so that each scheduling subject executes a corresponding concurrent scheduling task according to the corresponding request message and transmits the read data corresponding to the scheduling task to the information receiving end through the bus includes:
接收定位到相应的调度主体的请求消息,以使每个调度主体根据对应的请求消息执行相应的并发调度任务,并将调度任务对应的读数据通过总线传输到信息接收端。Receive the request message located to the corresponding scheduling subject, so that each scheduling subject executes the corresponding concurrent scheduling task according to the corresponding request message, and transmits the read data corresponding to the scheduling task to the information receiving end through the bus.
在本申请的一些实施例中,接收定位到相应的调度主体的请求消息,以使每个调度主体根据对应的请求消息执行相应的并发调度任务,并将调度任务对应的读数据通过总线传输到信息接收端的过程,包括:In some embodiments of the present application, a request message located to the corresponding scheduling subject is received, so that each scheduling subject executes the corresponding concurrent scheduling task according to the corresponding request message, and transmits the read data corresponding to the scheduling task through the bus to The process at the information receiving end includes:
接收由FTL发送、定位到相应的调度主体的请求消息,以使每个调度主体根据对应的请求消息执行相应的并发调度任务,并将调度任务对应的读数据通过总线传输到信息接收端。Receive the request message sent by FTL and located to the corresponding scheduling subject, so that each scheduling subject executes the corresponding concurrent scheduling task according to the corresponding request message, and transmits the read data corresponding to the scheduling task to the information receiving end through the bus.
在本申请的一些实施例中,调度主体的总个数与上下文的总个数相同。In some embodiments of the present application, the total number of scheduling subjects is the same as the total number of contexts.
在本申请的一些实施例中,每个调度主体根据对应的请求消息执行相应的并发调度任务,并将调度任务对应的读数据通过总线传输到信息接收端的过程,包括:In some embodiments of the present application, the process of each scheduling subject executing a corresponding concurrent scheduling task according to the corresponding request message and transmitting the read data corresponding to the scheduling task to the information receiving end through the bus includes:
每个调度主体根据对应的请求消息执行相应的并发调度任务,并将调度任务对应的读数据排队到总线传输队列,以使读数据通过总线传输到信息接收端。Each scheduling subject executes the corresponding concurrent scheduling task according to the corresponding request message, and queues the read data corresponding to the scheduling task to the bus transmission queue, so that the read data is transmitted to the information receiving end through the bus.
相应的,本申请还公开了一种固态硬盘读系统,包括:Correspondingly, this application also discloses a solid-state hard drive reading system, including:
初始化模块,用于对固态硬盘的后端模块进行初始化,以确定多个调度主体,调度主体的总个数大于固态硬盘中逻辑单元号的总个数;An initialization module is used to initialize the back-end module of the solid-state drive to determine multiple scheduling subjects. The total number of scheduling subjects is greater than the total number of logical unit numbers in the solid-state drive;
分配模块,用于对每个调度主体分别分配上下文;The allocation module is used to allocate context to each scheduling subject;
动作模块,用于接收请求消息,以使每个调度主体根据对应的请求消息执行相应的并发调度任务,并将调度任务对应的读数据通过总线传输到信息接收端。The action module is used to receive request messages, so that each scheduling subject executes corresponding concurrent scheduling tasks according to the corresponding request messages, and transmits the read data corresponding to the scheduling tasks to the information receiving end through the bus.
相应的,本申请还公开了一种固态硬盘读装置,包括:Correspondingly, this application also discloses a solid-state hard disk reading device, including:
存储器,用于存储计算机程序;Memory, used to store computer programs;
处理器,用于执行计算机程序时实现如上文任一项固态硬盘读方法的步骤。 The processor is used to implement the steps of any of the above solid-state disk reading methods when executing a computer program.
相应的,本申请还公开了一种可读存储介质,可读存储介质上存储有计算机程序,计算机程序被处理器执行时实现如上文任一项固态硬盘读方法的步骤。Correspondingly, this application also discloses a readable storage medium. A computer program is stored on the readable storage medium. When the computer program is executed by a processor, the steps of any of the above solid-state disk reading methods are implemented.
本申请公开了一种固态硬盘读方法,包括:对固态硬盘的后端模块进行初始化,以确定多个调度主体,调度主体的总个数大于固态硬盘中逻辑单元号的总个数;对每个调度主体分别分配上下文;接收请求消息,以使每个调度主体根据对应的请求消息执行相应的并发调度任务,并将调度任务对应的读数据通过总线传输到信息接收端。本申请实施例设置了多于逻辑单元号的调度主体,然后令调度主体执行并发调度任务,由于调度主体的个数更多,因此比原有逻辑单元号执行并发调度任务的速度更快,同时能够有效利用空闲的总线传输读数据,明显提高了总线的使用频率,减少资源浪费。This application discloses a solid-state drive reading method, which includes: initializing the back-end module of the solid-state drive to determine multiple scheduling subjects. The total number of scheduling subjects is greater than the total number of logical unit numbers in the solid-state drive; for each Each scheduling subject is assigned context respectively; the request message is received, so that each scheduling subject executes the corresponding concurrent scheduling task according to the corresponding request message, and transmits the read data corresponding to the scheduling task to the information receiving end through the bus. The embodiment of this application sets up more scheduling subjects than the logical unit number, and then makes the scheduling subjects perform concurrent scheduling tasks. Since there are more scheduling subjects, the concurrent scheduling tasks can be executed faster than the original logical unit number. At the same time, It can effectively utilize the idle bus to transmit and read data, significantly increasing the bus usage frequency and reducing resource waste.
附图说明Description of the drawings
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或相关技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。In order to more clearly explain the embodiments of the present application or the technical solutions in the prior art, the drawings needed to be used in the description of the embodiments or related technologies will be briefly introduced below. Obviously, the drawings in the following description are only For the embodiments of the present application, those of ordinary skill in the art can also obtain other drawings based on the provided drawings without exerting creative efforts.
图1为本申请实施例中一种固态硬盘读方法的步骤流程图;Figure 1 is a step flow chart of a solid state disk reading method in an embodiment of the present application;
图2为本申请实施例中一种固态硬盘读方法的时序分布图;Figure 2 is a timing distribution diagram of a solid-state disk reading method in an embodiment of the present application;
图3为相关技术中一种固态硬盘读测试的时序分布图;Figure 3 is a timing distribution diagram of a solid-state hard disk read test in the related art;
图4为本申请实施例中一种固态硬盘读系统的结构分布图;Figure 4 is a structural distribution diagram of a solid-state disk reading system in an embodiment of the present application;
图5为本申请实施例中一种固态硬盘读装置的结构示意图;Figure 5 is a schematic structural diagram of a solid-state hard disk reading device in an embodiment of the present application;
图6为本申请实施例中计算机非易失性可读存储介质的结构示意图。Figure 6 is a schematic structural diagram of a computer non-volatile readable storage medium in an embodiment of the present application.
具体实施方式Detailed ways
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。The technical solutions in the embodiments of the present application will be clearly and completely described below with reference to the accompanying drawings in the embodiments of the present application. Obviously, the described embodiments are only some of the embodiments of the present application, rather than all of the embodiments. Based on the embodiments in this application, all other embodiments obtained by those of ordinary skill in the art without creative efforts fall within the scope of protection of this application.
随着技术发展,每个LUN中的block数据块的容量越来越大,同时每个LUN中block的个数也越来越多,在固态硬盘的总容量不变时,block数量和容量的增多,会导致每个通道中可并行的LUN的个数越来越少,每个通道的读任务的执行主体越来越少,导致读效率的降低, 同时还出现了数据总线闲置和资源浪费的问题。With the development of technology, the capacity of block data blocks in each LUN is getting larger and larger, and at the same time, the number of blocks in each LUN is also increasing. When the total capacity of the solid-state drive remains unchanged, the number of blocks and the capacity The increase will result in the number of parallel LUNs in each channel becoming smaller and smaller, and the execution subjects of the read tasks in each channel becoming smaller and smaller, resulting in a reduction in reading efficiency. At the same time, problems of data bus idleness and resource waste also arise.
本申请设置了多于逻辑单元号的调度主体,然后令调度主体执行并发调度任务,由于调度主体的个数更多,因此比原有逻辑单元号执行并发调度任务的速度更快,同时能够有效利用空闲的总线传输读数据,明显提高了总线的使用频率,减少资源浪费。This application sets up more scheduling subjects than the logical unit number, and then makes the scheduling subjects perform concurrent scheduling tasks. Since there are more scheduling subjects, the concurrent scheduling tasks can be executed faster than the original logical unit number, and at the same time, it can be effectively Using the idle bus to transmit read data significantly increases the bus usage frequency and reduces resource waste.
本申请实施例公开了一种固态硬盘读方法,参见图1所示,包括:The embodiment of the present application discloses a solid-state hard drive reading method, as shown in Figure 1, which includes:
S1:对固态硬盘的后端模块进行初始化,以确定多个调度主体,调度主体的总个数大于固态硬盘中逻辑单元号的总个数;S1: Initialize the back-end module of the solid-state drive to determine multiple scheduling subjects. The total number of scheduling subjects is greater than the total number of logical unit numbers in the solid-state drive;
S2:对每个调度主体分别分配上下文;S2: Assign context to each scheduling subject;
S3:接收请求消息,以使每个调度主体根据对应的请求消息执行相应的并发调度任务,并将调度任务对应的读数据通过总线传输到信息接收端。S3: Receive the request message, so that each scheduling subject executes the corresponding concurrent scheduling task according to the corresponding request message, and transmits the read data corresponding to the scheduling task to the information receiving end through the bus.
可以理解的是,调度主体用于根据对应的请求信息执行调度任务,并将对应的读数据通过总线传输到信息接收端,该信息接收端通过总线与固态硬盘连接,发送请求信息并接收相应的读数据。多个调度任务的执行过程中,各调度主体不存在互相干扰,可独立执行各自的调度任务,也即调度任务的执行为并发,而多个调度任务的读数据在通过总线传输到信息接收端时,为串行传输形式。It can be understood that the scheduling subject is used to perform scheduling tasks according to the corresponding request information, and transmit the corresponding read data to the information receiving end through the bus. The information receiving end is connected to the solid state drive through the bus, sends the request information and receives the corresponding Read data. During the execution of multiple scheduling tasks, each scheduling subject does not interfere with each other and can independently execute its own scheduling tasks. That is, the execution of scheduling tasks is concurrent, and the read data of multiple scheduling tasks is transmitted to the information receiving end through the bus. When, it is in the form of serial transmission.
本申请实施例的读方法,通过步骤S1将调度主体从原逻辑单元号LUN向下分配,使得向总线发送读数据的调度主体的个数超过逻辑单元号LUN的总个数,已知每个LUN包括多个plane,plane是NAND Flash中能够根据读、写、擦除等命令进行操作的最小单位,通常可选每个调度主体对应固态硬盘中的若干个plane,进一步的,可选每个调度主体对应一个plane,这种情况下固态硬盘读方法的效率最高、总线利用率最高。The reading method in the embodiment of the present application allocates the scheduling subjects downward from the original logical unit number LUN through step S1, so that the number of scheduling subjects sending read data to the bus exceeds the total number of logical unit numbers LUN. It is known that each A LUN includes multiple planes. A plane is the smallest unit in NAND Flash that can be operated according to commands such as read, write, and erase. Usually, each scheduling subject can be selected to correspond to several planes in the solid-state drive. Furthermore, each can be selected. The scheduling subject corresponds to a plane. In this case, the solid-state disk reading method has the highest efficiency and bus utilization.
以图2为例,假设固态硬盘中有两个LUN:LUN-0和LUN-1,LUN-0和LUN-1各有四个plane,即plane-0至plane-3,每个调度主体对应一个plane,所有的调度主体执行并发调度任务并将读数据通过总线传输到信号接收端的情况如图2所示,其中执行并发调度任务的耗时为tR(time of reading,读时间),调度任务的具体内容即为固态硬盘中NAND将数据从物理单元读取到高速缓存cache;然后调度主体将读到cache中的读数据通过总线传输到信息接收端,这段耗时为BDT(Bulk Data Transfer,批量数据传输),图2的读方法实施中,调度主体LUN-0-plane-0在tR时,可以同时完成7个调度主体的读数据在总线上的传输,总线的利用率约为83.3%,空闲占比为16.7%。Taking Figure 2 as an example, assume that there are two LUNs in the solid state drive: LUN-0 and LUN-1. LUN-0 and LUN-1 each have four planes, namely plane-0 to plane-3. Each scheduling subject corresponds to On a plane, all scheduling subjects execute concurrent scheduling tasks and transmit read data to the signal receiving end through the bus, as shown in Figure 2. The time taken to execute concurrent scheduling tasks is tR (time of reading, reading time), and the scheduling task The specific content is that the NAND in the solid state drive reads the data from the physical unit to the cache cache; then the scheduling body transmits the read data in the cache to the information receiving end through the bus. This period of time is BDT (Bulk Data Transfer) , batch data transmission), in the implementation of the read method in Figure 2, when the scheduling subject LUN-0-plane-0 is at tR, the read data transmission of 7 scheduling subjects can be completed on the bus at the same time, and the bus utilization rate is about 83.3 %, the idle ratio is 16.7%.
类似的,背景技术中由LUN作为执行主体向总线发送读数据时,LUN个数较少,向总线发送的数据次数少,以图3为例,假设固态硬盘中有两个LUN:LUN-0和LUN-1,总线的空闲占比 约为87.9%,大量总线资源闲置,相比而言本实施例中总线资源的利用率明显提升。Similarly, in the background technology, when LUN is used as the execution subject to send read data to the bus, the number of LUNs is small and the number of data sent to the bus is small. Taking Figure 3 as an example, assume that there are two LUNs in the solid state drive: LUN-0 and LUN-1, the idle ratio of the bus It is about 87.9%, and a large number of bus resources are idle. In comparison, the utilization rate of bus resources in this embodiment is significantly improved.
在本申请的一些实施例中,步骤S2对每个调度主体分别分配上下文,为调度主体的运行实施提供运行环境,系统中可分配的上下文的个数有时有限无法增加,如果可分配的上下文的总个数超过固态硬盘中plane的总个数,为了保证每个调度主体均可获得上下文,调度主体的总个数将受到上下文的个数的限制,最优的一种实施例下,调度主体的总个数与上下文的总个数相同。In some embodiments of the present application, step S2 allocates a context to each scheduling subject to provide an operating environment for the execution of the scheduling subject. The number of allocable contexts in the system is sometimes limited and cannot be increased. If the number of allocable contexts is The total number exceeds the total number of planes in the solid state drive. In order to ensure that each scheduling subject can obtain the context, the total number of scheduling subjects will be limited by the number of contexts. In an optimal embodiment, the scheduling subject The total number of is the same as the total number of contexts.
具体的,步骤S3每个调度主体根据对应的请求消息执行相应的并发调度任务,并将调度任务对应的读数据通过总线传输到信息接收端的过程,包括:Specifically, in step S3, each scheduling subject executes the corresponding concurrent scheduling task according to the corresponding request message, and the process of transmitting the read data corresponding to the scheduling task to the information receiving end through the bus includes:
每个调度主体根据对应的请求消息执行相应的并发调度任务,并将调度任务对应的读数据排队到总线传输队列,以使读数据通过总线传输到信息接收端。Each scheduling subject executes the corresponding concurrent scheduling task according to the corresponding request message, and queues the read data corresponding to the scheduling task to the bus transmission queue, so that the read data is transmitted to the information receiving end through the bus.
可以理解的是,不同调度主体对调度任务的执行为互不影响的并发模式,读数据在总线的传输为串行模式,因此需要排队到总线传输队列逐个发送。It can be understood that the execution of scheduling tasks by different scheduling entities is in a concurrent mode that does not affect each other, and the transmission of read data on the bus is in a serial mode, so it needs to be queued in the bus transmission queue and sent one by one.
在本申请的一些实施例中,步骤S3接收请求消息,以使每个调度主体根据对应的请求消息执行相应的并发调度任务,并将调度任务对应的读数据通过总线传输到信息接收端的过程,具体包括:In some embodiments of this application, step S3 is a process of receiving a request message so that each scheduling subject executes a corresponding concurrent scheduling task according to the corresponding request message, and transmits the read data corresponding to the scheduling task to the information receiving end through the bus, Specifically include:
接收定位到相应的调度主体的请求消息,以使每个调度主体根据对应的请求消息执行相应的并发调度任务,并将调度任务对应的读数据通过总线传输到信息接收端。Receive the request message located to the corresponding scheduling subject, so that each scheduling subject executes the corresponding concurrent scheduling task according to the corresponding request message, and transmits the read data corresponding to the scheduling task to the information receiving end through the bus.
可以理解的是,当请求信息定位到相应的调度主体,调度主体才能够执行对应的请求信息。It can be understood that only when the request information is located to the corresponding scheduling subject, the scheduling subject can execute the corresponding request information.
在本申请的一些实施例中,步骤S3中接收定位到相应的调度主体的请求消息,以使每个调度主体根据对应的请求消息执行相应的并发调度任务,并将调度任务对应的读数据通过总线传输到信息接收端的过程,具体可包括:In some embodiments of the present application, in step S3, a request message located to the corresponding scheduling subject is received, so that each scheduling subject executes the corresponding concurrent scheduling task according to the corresponding request message, and reads the read data corresponding to the scheduling task through The process of bus transmission to the information receiving end may include:
接收由FTL(Flash Translation Layer,闪存转换层)发送、定位到相应的调度主体的请求消息,以使每个调度主体根据对应的请求消息执行相应的并发调度任务,并将调度任务对应的读数据通过总线传输到信息接收端。Receive request messages sent by FTL (Flash Translation Layer) and located to the corresponding scheduling subject, so that each scheduling subject executes the corresponding concurrent scheduling task according to the corresponding request message, and reads the data corresponding to the scheduling task Transmitted to the information receiving end through the bus.
可以理解的是,本申请实施例中调度主体的总个数超过逻辑单元号LUN的总个数,对4K随机读为代表的操作并发度大幅提高,性能存在倍数级的升高。从测试情况看,4K随机读测性能由原来的560K提升到1600K,性能提高2.8倍,在其他指标不作变动的前提下,读效率远高于现有技术。It can be understood that in the embodiment of the present application, the total number of scheduling subjects exceeds the total number of logical unit numbers LUN, and the concurrency of operations represented by 4K random reads is greatly improved, and the performance is increased by multiples. Judging from the test results, the 4K random reading performance has been improved from the original 560K to 1600K, and the performance has increased by 2.8 times. As long as other indicators remain unchanged, the reading efficiency is much higher than the existing technology.
本申请实施例公开了一种固态硬盘读方法,包括:对固态硬盘的后端模块进行初始化, 以确定多个调度主体,调度主体的总个数大于固态硬盘中逻辑单元号的总个数;对每个调度主体分别分配上下文;接收请求消息,以使每个调度主体根据对应的请求消息执行相应的并发调度任务,并将调度任务对应的读数据通过总线传输到信息接收端。本申请实施例设置了多于逻辑单元号的调度主体,然后令调度主体执行并发调度任务,由于调度主体的个数更多,因此比原有逻辑单元号执行并发调度任务的速度更快,同时能够有效利用空闲的总线传输读数据,明显提高了总线的使用频率,减少资源浪费。The embodiment of the present application discloses a solid-state drive reading method, which includes: initializing the back-end module of the solid-state drive, To determine multiple scheduling subjects, the total number of scheduling subjects is greater than the total number of logical unit numbers in the solid state drive; assign context to each scheduling subject; receive request messages so that each scheduling subject executes according to the corresponding request message The corresponding concurrent scheduling task is performed, and the read data corresponding to the scheduling task is transmitted to the information receiving end through the bus. The embodiment of this application sets up more scheduling subjects than the logical unit number, and then makes the scheduling subjects perform concurrent scheduling tasks. Since there are more scheduling subjects, the concurrent scheduling tasks can be executed faster than the original logical unit number. At the same time, It can effectively utilize the idle bus to transmit and read data, significantly increasing the bus usage frequency and reducing resource waste.
在本申请的一些实施例中,本申请实施例还公开了一种固态硬盘读系统,参见图4所示。包括:In some embodiments of the present application, the embodiment of the present application also discloses a solid-state hard drive reading system, as shown in Figure 4. include:
初始化模块1,用于对固态硬盘的后端模块进行初始化,以确定多个调度主体,调度主体的总个数大于固态硬盘中逻辑单元号的总个数;Initialization module 1 is used to initialize the back-end module of the solid-state drive to determine multiple scheduling subjects. The total number of scheduling subjects is greater than the total number of logical unit numbers in the solid-state drive;
分配模块2,用于对每个调度主体分别分配上下文;Allocation module 2, used to allocate context to each scheduling subject;
动作模块3,用于接收请求消息,以使每个调度主体根据对应的请求消息执行相应的并发调度任务,并将调度任务对应的读数据通过总线传输到信息接收端。Action module 3 is used to receive request messages, so that each scheduling subject executes corresponding concurrent scheduling tasks according to the corresponding request messages, and transmits the read data corresponding to the scheduling tasks to the information receiving end through the bus.
本申请实施例设置了多于逻辑单元号的调度主体,然后令调度主体执行并发调度任务,由于调度主体的个数更多,因此比原有逻辑单元号执行并发调度任务的速度更快,同时能够有效利用空闲的总线传输读数据,明显提高了总线的使用频率,减少资源浪费。The embodiment of this application sets up more scheduling subjects than the logical unit number, and then makes the scheduling subjects perform concurrent scheduling tasks. Since there are more scheduling subjects, the concurrent scheduling tasks can be executed faster than the original logical unit number. At the same time, It can effectively utilize the idle bus to transmit and read data, significantly increasing the bus usage frequency and reducing resource waste.
在本申请的一些实施例中,每个调度主体对应固态硬盘中的若干个plane。In some embodiments of the present application, each scheduling subject corresponds to several planes in the solid state drive.
在本申请的一些实施例中,每个调度主体对应一个plane。In some embodiments of the present application, each scheduling subject corresponds to a plane.
在本申请的一些实施例中,动作模块3具体用于:接收定位到相应的调度主体的请求消息,以使每个调度主体根据对应的请求消息执行相应的并发调度任务,并将调度任务对应的读数据通过总线传输到信息接收端。In some embodiments of the present application, the action module 3 is specifically configured to: receive a request message located to the corresponding scheduling subject, so that each scheduling subject executes the corresponding concurrent scheduling task according to the corresponding request message, and assigns the scheduling task to the corresponding The read data is transmitted to the information receiving end through the bus.
在本申请的一些实施例中,动作模块3具体用于:接收由FTL发送、定位到相应的调度主体的请求消息,以使每个调度主体根据对应的请求消息执行相应的并发调度任务,并将调度任务对应的读数据通过总线传输到信息接收端。In some embodiments of the present application, the action module 3 is specifically configured to: receive a request message sent by FTL and located to the corresponding scheduling subject, so that each scheduling subject executes the corresponding concurrent scheduling task according to the corresponding request message, and The read data corresponding to the scheduled task is transmitted to the information receiving end through the bus.
在本申请的一些实施例中,调度主体的总个数与上下文的总个数相同。In some embodiments of the present application, the total number of scheduling subjects is the same as the total number of contexts.
在本申请的一些实施例中,动作模块3具体用于:每个调度主体根据对应的请求消息执行相应的并发调度任务,并将调度任务对应的读数据排队到总线传输队列,以使读数据通过总线传输到信息接收端。 In some embodiments of the present application, the action module 3 is specifically used to: each scheduling subject executes a corresponding concurrent scheduling task according to the corresponding request message, and queues the read data corresponding to the scheduling task to the bus transmission queue, so that the read data Transmitted to the information receiving end through the bus.
在本申请的一些实施例中,本申请实施例还公开了一种固态硬盘读装置,包括:In some embodiments of the present application, the embodiments of the present application also disclose a solid-state hard drive reading device, including:
如图5所示的存储器502,用于存储计算机程序;Memory 502 as shown in Figure 5 is used to store computer programs;
处理器501,用于执行计算机程序时实现如上文任一实施例固态硬盘读方法的步骤。The processor 501 is configured to implement the steps of the solid-state disk reading method in any of the above embodiments when executing a computer program.
相应的,本申请实施例还公开了一种计算机非易失性可读存储介质,如图6所示,计算机非易失性可读存储介质6上存储有计算机程序61,计算机程序61被处理器执行时实现如上文任一实施例固态硬盘读方法的步骤。Correspondingly, the embodiment of the present application also discloses a computer non-volatile readable storage medium. As shown in Figure 6, the computer non-volatile readable storage medium 6 stores a computer program 61, and the computer program 61 is processed. When the computer is executed, the steps of the solid state disk reading method in any of the above embodiments are implemented.
其中,本实施例中有关固态硬盘读方法的具体细节,可以参照上文实施例中的相关描述,此处不再赘述。For specific details about the solid-state disk reading method in this embodiment, reference can be made to the relevant descriptions in the above embodiments and will not be described again here.
其中,本实施例中固态硬盘读装置和可读存储介质具有与上文实施例中固态硬盘读方法相同的技术效果,此处不再赘述。Among them, the solid-state hard disk reading device and the readable storage medium in this embodiment have the same technical effects as the solid-state hard disk reading method in the above embodiment, and will not be described again here.
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括要素的过程、方法、物品或者设备中还存在另外的相同要素。Finally, it should be noted that in this article, relational terms such as first and second are only used to distinguish one entity or operation from another entity or operation, and do not necessarily require or imply that these entities or any such actual relationship or sequence between operations. Furthermore, the terms "comprises," "comprises," or any other variations thereof are intended to cover a non-exclusive inclusion such that a process, method, article, or apparatus that includes a list of elements includes not only those elements, but also those not expressly listed other elements, or elements inherent to the process, method, article or equipment. Without further limitation, an element qualified by the statement "comprises a..." does not exclude the presence of additional identical elements in the process, method, article, or device that includes the element.
以上对本申请所提供的一种固态硬盘读方法、相应的一种固态硬盘读系统、相应的一种固态硬盘读装置,以及相应的一种计算机非易失性可读存储介质进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上,本说明书内容不应理解为对本申请的限制。 The above has introduced in detail a solid-state hard drive reading method, a corresponding solid-state hard drive reading system, a corresponding solid-state hard drive reading device, and a corresponding computer non-volatile readable storage medium provided by this application. This article uses specific examples to illustrate the principles and implementation methods of the present application. The description of the above embodiments is only used to help understand the method and the core idea of the present application; at the same time, for those of ordinary skill in the art, based on this application There will be changes in the specific implementation and scope of application of the ideas. In summary, the content of this description should not be understood as a limitation of this application.

Claims (20)

  1. 一种固态硬盘读方法,其特征在于,包括:A solid-state disk reading method, which is characterized by including:
    对固态硬盘的后端模块进行初始化,以确定多个调度主体,所述调度主体的总个数大于所述固态硬盘中逻辑单元号的总个数;Initialize the back-end module of the solid-state drive to determine multiple scheduling subjects, where the total number of scheduling subjects is greater than the total number of logical unit numbers in the solid-state drive;
    对每个所述调度主体分别分配上下文;Allocate context to each scheduling subject respectively;
    接收请求消息,以使每个所述调度主体根据对应的所述请求消息执行相应的并发调度任务,并将所述调度任务对应的读数据通过总线传输到信息接收端。Request messages are received, so that each scheduling subject executes a corresponding concurrent scheduling task according to the corresponding request message, and transmits the read data corresponding to the scheduling task to the information receiving end through the bus.
  2. 根据权利要求1所述固态硬盘读方法,其特征在于,The solid state disk reading method according to claim 1, characterized in that:
    每个所述调度主体对应所述固态硬盘中的若干个plane。Each scheduling subject corresponds to several planes in the solid state drive.
  3. 根据权利要求1所述固态硬盘读方法,其特征在于,The solid state disk reading method according to claim 1, characterized in that:
    每个所述调度主体对应一个plane。Each scheduling subject corresponds to a plane.
  4. 根据权利要求1所述固态硬盘读方法,其特征在于,所述接收请求消息,以使每个所述调度主体根据对应的所述请求消息执行相应的并发调度任务,并将所述调度任务对应的读数据通过总线传输到信息接收端的过程,包括:The solid state disk reading method according to claim 1, characterized in that the receiving request message enables each of the scheduling subjects to execute a corresponding concurrent scheduling task according to the corresponding request message, and corresponds the scheduling task to The process of transmitting read data to the information receiving end through the bus includes:
    接收定位到相应的所述调度主体的请求消息,以使每个所述调度主体根据对应的所述请求消息执行相应的并发调度任务,并将所述调度任务对应的读数据通过总线传输到信息接收端。Receive the request message located to the corresponding scheduling subject, so that each scheduling subject executes the corresponding concurrent scheduling task according to the corresponding request message, and transmits the read data corresponding to the scheduling task to the information through the bus Receiving end.
  5. 根据权利要求4所述固态硬盘读方法,其特征在于,所述接收定位到相应的所述调度主体的请求消息,以使每个所述调度主体根据对应的所述请求消息执行相应的并发调度任务,并将所述调度任务对应的读数据通过总线传输到信息接收端的过程,包括:The solid-state disk reading method according to claim 4, characterized in that: receiving a request message located to the corresponding scheduling subject, so that each of the scheduling subjects performs corresponding concurrent scheduling according to the corresponding request message. task, and the process of transmitting the read data corresponding to the scheduled task to the information receiving end through the bus, including:
    接收由闪存转换层FTL发送、定位到相应的所述调度主体的请求消息,以使每个所述调度主体根据对应的所述请求消息执行相应的并发调度任务,并将所述调度任务对应的读数据通过总线传输到信息接收端。Receive the request message sent by the flash translation layer FTL and located to the corresponding scheduling subject, so that each of the scheduling subjects executes the corresponding concurrent scheduling task according to the corresponding request message, and transfers the corresponding scheduling task to The read data is transmitted to the information receiving end through the bus.
  6. 根据权利要求5所述固态硬盘读方法,其特征在于,若所分配的上下文的总个数超过所述逻辑单元号的总个数,所述调度主体的总个数受上下文的总个数的限制。The solid state disk reading method according to claim 5, characterized in that if the total number of allocated contexts exceeds the total number of the logical unit numbers, the total number of the scheduling subjects is limited by the total number of contexts. limit.
  7. 根据权利要求6所述固态硬盘读方法,其特征在于,所述调度主体的总个数与所述上下文的总个数相同。The solid-state disk reading method according to claim 6, wherein the total number of scheduling subjects is the same as the total number of contexts.
  8. 根据权利要求6或7所述固态硬盘读取方法,其特征在于,所述上下文用于为所述调度主体的运行实施提供运行环境。The solid state disk reading method according to claim 6 or 7, characterized in that the context is used to provide an operating environment for the execution of the scheduling subject.
  9. 根据权利要求1所述固态硬盘读取方法,其特征在于,所述对固态硬盘的后端模块进行初始化,以确定多个调度主体,包括: The solid-state drive reading method according to claim 1, characterized in that, the back-end module of the solid-state drive is initialized to determine multiple scheduling subjects, including:
    将调度主体从逻辑单元号向下分配,使得向总线发送读数据的调度主体的个数超过所述逻辑单元号的总个数。The scheduling subjects are allocated downward from the logical unit number so that the number of scheduling subjects sending read data to the bus exceeds the total number of the logical unit numbers.
  10. 根据权利要求1至7任一项所述固态硬盘读取方法,其特征在于,多个调度任务的执行过程中,各个调度主体独立且互不干扰。The solid-state disk reading method according to any one of claims 1 to 7, characterized in that, during the execution of multiple scheduling tasks, each scheduling subject is independent and does not interfere with each other.
  11. 根据权利要求1至7任一项所述固态硬盘读取方法,其特征在于,多个调度任务的读数据在通过总线传输到信息接收端时,为串行传输形式。The solid-state disk reading method according to any one of claims 1 to 7, characterized in that when the read data of multiple scheduling tasks is transmitted to the information receiving end through the bus, it is in the form of serial transmission.
  12. 根据权利要求1至7任一项所述固态硬盘读取方法,其特征在于,执行并发调度任务的耗时为读时间。The solid-state disk reading method according to any one of claims 1 to 7, characterized in that the time taken to execute concurrently scheduled tasks is read time.
  13. 根据权利要求12所述固态硬盘读取方法,其特征在于,在所述读时间内同时完成至少一个调度主体的读数据在总线上的传输。The solid state disk reading method according to claim 12, characterized in that the transmission of read data of at least one scheduling subject on the bus is completed simultaneously within the reading time.
  14. 根据权利要求1至7任一项所述固态硬盘读取方法,其特征在于,所述每个所述调度主体根据对应的所述请求消息执行相应的并发调度任务,并将所述调度任务对应的读数据通过总线传输到信息接收端,包括:The solid-state disk reading method according to any one of claims 1 to 7, characterized in that each of the scheduling subjects executes a corresponding concurrent scheduling task according to the corresponding request message, and corresponds the scheduling task to The read data is transmitted to the information receiving end through the bus, including:
    通过每个所述调度主体执行调度任务,将数据从物理单元进行读取,并将读取后的读数据通过总线传输到信息接收端。Each of the scheduling subjects performs a scheduling task, reads data from the physical unit, and transmits the read data to the information receiving end through the bus.
  15. 根据权利要求14所述固态硬盘读取方法,其特征在于,所述将数据从物理单元进行读取,并将读取后的读数据通过总线传输到信息接收端,包括:The solid-state disk reading method according to claim 14, characterized in that reading data from a physical unit and transmitting the read data to the information receiving end through a bus includes:
    通过固态硬盘中闪存颗粒NAND将数据从物理单元读取到高速缓存cache,调度主体将读到cache中的读数据通过总线传输到信息接收端。The data is read from the physical unit to the cache cache through the flash memory particles NAND in the solid state drive, and the scheduling body transmits the read data in the cache to the information receiving end through the bus.
  16. 根据权利要求15所述固态硬盘读取方法,其特征在于,所述调度主体将读到cache中的读数据通过总线传输到信息接收端的耗时为批量数据传输。The solid-state disk reading method according to claim 15, characterized in that the time it takes for the scheduling subject to transmit the read data in the cache to the information receiving end through the bus is batch data transmission.
  17. 根据权利要求1至7任一项所述固态硬盘读方法,其特征在于,所述每个所述调度主体根据对应的所述请求消息执行相应的并发调度任务,并将所述调度任务对应的读数据通过总线传输到信息接收端的过程,包括:The solid-state disk reading method according to any one of claims 1 to 7, characterized in that each of the scheduling subjects executes a corresponding concurrent scheduling task according to the corresponding request message, and sends the corresponding concurrent scheduling task to the The process of transmitting read data to the information receiving end through the bus includes:
    每个所述调度主体根据对应的所述请求消息执行相应的并发调度任务,并将所述调度任务对应的读数据排队到总线传输队列,以使所述读数据通过总线传输到信息接收端。Each scheduling subject executes a corresponding concurrent scheduling task according to the corresponding request message, and queues the read data corresponding to the scheduling task into the bus transmission queue, so that the read data is transmitted to the information receiving end through the bus.
  18. 一种固态硬盘读系统,其特征在于,包括:A solid-state hard disk reading system, which is characterized by including:
    初始化模块,用于对固态硬盘的后端模块进行初始化,以确定多个调度主体,所述调度主体的总个数大于所述固态硬盘中逻辑单元号的总个数; An initialization module, used to initialize the back-end module of the solid-state drive to determine multiple scheduling subjects, where the total number of scheduling subjects is greater than the total number of logical unit numbers in the solid-state drive;
    分配模块,用于对每个所述调度主体分别分配上下文;An allocation module, configured to allocate context to each scheduling subject;
    动作模块,用于接收请求消息,以使每个所述调度主体根据对应的所述请求消息执行相应的并发调度任务,并将所述调度任务对应的读数据通过总线传输到信息接收端。An action module is configured to receive a request message, so that each scheduling subject executes a corresponding concurrent scheduling task according to the corresponding request message, and transmits the read data corresponding to the scheduling task to the information receiving end through the bus.
  19. 一种固态硬盘读装置,其特征在于,包括:A solid-state hard drive reading device, characterized by including:
    存储器,用于存储计算机程序;Memory, used to store computer programs;
    处理器,用于执行所述计算机程序时实现如权利要求1至17任一项所述固态硬盘读方法的步骤。A processor, configured to implement the steps of the solid-state disk reading method according to any one of claims 1 to 17 when executing the computer program.
  20. 一种计算机非易失性可读存储介质,其特征在于,所述计算机非易失性可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至17任一项所述固态硬盘读方法的步骤。 A computer non-volatile readable storage medium, characterized in that a computer program is stored on the computer non-volatile readable storage medium, and when the computer program is executed by a processor, any one of claims 1 to 17 is implemented. A step of the solid state disk reading method.
PCT/CN2023/082057 2022-04-22 2023-03-17 Solid-state drive reading method, system and apparatus, and storage medium WO2023202288A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN202210424658.XA CN114546294B (en) 2022-04-22 2022-04-22 Solid state disk reading method, system and related components
CN202210424658.X 2022-04-22

Publications (1)

Publication Number Publication Date
WO2023202288A1 true WO2023202288A1 (en) 2023-10-26

Family

ID=81666751

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2023/082057 WO2023202288A1 (en) 2022-04-22 2023-03-17 Solid-state drive reading method, system and apparatus, and storage medium

Country Status (2)

Country Link
CN (1) CN114546294B (en)
WO (1) WO2023202288A1 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114546294B (en) * 2022-04-22 2022-07-22 苏州浪潮智能科技有限公司 Solid state disk reading method, system and related components

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108733324A (en) * 2018-05-25 2018-11-02 郑州云海信息技术有限公司 A kind of data read-write method of solid state disk, device, equipment and storage medium
US20220043600A1 (en) * 2020-08-06 2022-02-10 SK Hynix Inc. Memory controller and operating method thereof
CN114047886A (en) * 2022-01-13 2022-02-15 苏州浪潮智能科技有限公司 NVME command processing method, system, electronic equipment and storage medium
CN114327259A (en) * 2021-11-30 2022-04-12 苏州浪潮智能科技有限公司 Flash memory channel controller operation method, device, equipment and storage medium
CN114546294A (en) * 2022-04-22 2022-05-27 苏州浪潮智能科技有限公司 Solid state disk reading method, system and related components

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8176238B2 (en) * 2003-12-02 2012-05-08 Super Talent Electronics, Inc. Command queuing smart storage transfer manager for striping data to raw-NAND flash modules
CN104571960B (en) * 2014-12-30 2018-01-16 华为技术有限公司 I/O request dispensing device and method, main frame, storage array and computer system
US20160283111A1 (en) * 2015-03-26 2016-09-29 Intel Corporation Read operations in memory devices
CN107870866B (en) * 2016-09-28 2023-09-26 厦门鑫忆讯科技有限公司 IO command scheduling method and NVM interface controller
CN117555598A (en) * 2016-09-28 2024-02-13 北京忆芯科技有限公司 Scheduling method and device
CN109597565B (en) * 2017-09-30 2024-04-05 北京忆恒创源科技股份有限公司 Virtual Plane management
CN108549588A (en) * 2018-03-27 2018-09-18 深圳忆联信息系统有限公司 A method of eliminating TLC flash memory multi-disc program fails
US10635353B2 (en) * 2018-05-30 2020-04-28 Circuit Blvd., Inc. Method of transceiving data using physical page address (PPA) command on open-channel solid state drive (SSD) and an apparatus performing the same
CN110554833B (en) * 2018-05-31 2023-09-19 北京忆芯科技有限公司 Parallel processing IO commands in a memory device
CN108932112B (en) * 2018-06-22 2021-09-17 郑州云海信息技术有限公司 Data read-write method, device, equipment and medium for solid particles
CN111796759B (en) * 2019-04-01 2023-11-07 慧荣科技股份有限公司 Computer readable storage medium and method for fragment data reading on multiple planes
CN110196687B (en) * 2019-05-20 2023-02-03 杭州宏杉科技股份有限公司 Data reading and writing method and device and electronic equipment
CN110515859B (en) * 2019-07-09 2021-07-20 杭州电子科技大学 Parallel processing method for read-write requests of solid state disk
CN110990301A (en) * 2019-11-15 2020-04-10 苏州浪潮智能科技有限公司 Sequential reading method of multi-plane storage medium and related device
US11137938B1 (en) * 2020-04-30 2021-10-05 Micron Technology, Inc. Converting a multi-plane write operation into multiple single plane write operations performed in parallel on a multi-plane memory device
US11429300B2 (en) * 2020-06-12 2022-08-30 Micron Technology, Inc. Independent parallel plane access in a multi-plane memory device
US20220083266A1 (en) * 2020-09-16 2022-03-17 Kioxia Corporation Plane-based queue configuration for aipr-enabled drives
CN112433672B (en) * 2020-11-12 2023-01-06 苏州浪潮智能科技有限公司 Solid state disk reading method and device
CN114296656A (en) * 2021-12-31 2022-04-08 深圳大普微电子科技有限公司 Plane programming method and flash memory device thereof

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108733324A (en) * 2018-05-25 2018-11-02 郑州云海信息技术有限公司 A kind of data read-write method of solid state disk, device, equipment and storage medium
US20220043600A1 (en) * 2020-08-06 2022-02-10 SK Hynix Inc. Memory controller and operating method thereof
CN114327259A (en) * 2021-11-30 2022-04-12 苏州浪潮智能科技有限公司 Flash memory channel controller operation method, device, equipment and storage medium
CN114047886A (en) * 2022-01-13 2022-02-15 苏州浪潮智能科技有限公司 NVME command processing method, system, electronic equipment and storage medium
CN114546294A (en) * 2022-04-22 2022-05-27 苏州浪潮智能科技有限公司 Solid state disk reading method, system and related components

Also Published As

Publication number Publication date
CN114546294B (en) 2022-07-22
CN114546294A (en) 2022-05-27

Similar Documents

Publication Publication Date Title
US11550477B2 (en) Processing host write transactions using a non-volatile memory express controller memory manager
CN106371888B (en) Storage device supporting virtual machine, storage system including the same, and method of operating the same
US8478926B1 (en) Co-processing acceleration method, apparatus, and system
US20220334975A1 (en) Systems and methods for streaming storage device content
WO2013170730A1 (en) Dma transmission method and system
CN108153482B (en) IO command processing method and medium interface controller
WO2023082560A1 (en) Task processing method and apparatus, device, and medium
CZ9400549A3 (en) Computer system having several media
CN102298561A (en) Method for conducting multi-channel data processing to storage device and system and device
WO2023202288A1 (en) Solid-state drive reading method, system and apparatus, and storage medium
CN112035381A (en) Storage system and storage data processing method
US10901624B1 (en) Dummy host command generation for supporting higher maximum data transfer sizes (MDTS)
WO2023201987A1 (en) Request processing method and apparatus, and device and medium
US11429314B2 (en) Storage device, storage system and operating method thereof
KR20080105390A (en) Apparatus and method for controlling commands used in flash memory
WO2017087544A1 (en) Method and system for shared direct access storage
KR102645983B1 (en) Open channel vector command execution
WO2022151766A1 (en) Io request pipeline processing device, method and system, and storage medium
US7979660B2 (en) Paging memory contents between a plurality of compute nodes in a parallel computer
WO2022261836A1 (en) Storage control method and apparatus, storage method and apparatus, electronic device, and medium
US20240012578A1 (en) Data storage device for guaranteeing that system resources meet performance requirements, method of operating the same, and memory controller for the same
WO2024027395A1 (en) Data processing method and apparatus
CN113076138B (en) NVMe command processing method, device and medium
CN114662162B (en) Multi-algorithm-core high-performance SR-IOV encryption and decryption system and method for realizing dynamic VF distribution
US11030007B2 (en) Multi-constraint dynamic resource manager

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 23790949

Country of ref document: EP

Kind code of ref document: A1