WO2020042388A1 - Method for improving sequential read performance of solid state drive - Google Patents
Method for improving sequential read performance of solid state drive Download PDFInfo
- Publication number
- WO2020042388A1 WO2020042388A1 PCT/CN2018/116814 CN2018116814W WO2020042388A1 WO 2020042388 A1 WO2020042388 A1 WO 2020042388A1 CN 2018116814 W CN2018116814 W CN 2018116814W WO 2020042388 A1 WO2020042388 A1 WO 2020042388A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- splicing unit
- read command
- sequential read
- command
- splicing
- Prior art date
Links
Images
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/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/061—Improving I/O performance
-
- 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/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0614—Improving the reliability of storage systems
-
- 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/0638—Organizing or formatting or addressing of data
-
- 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
- G06F3/0659—Command handling arrangements, e.g. command buffers, queues, command scheduling
-
- 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/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0683—Plurality of storage devices
- G06F3/0688—Non-volatile semiconductor memory arrays
Definitions
- the invention relates to a solid-state hard disk control technology, and in particular, to a method for improving sequential read performance of a solid-state hard disk.
- An SSD (Solid State Drives) controller is a device that connects a user's host and storage particles (for example: NAND flash memory). One end of the SSD controller is connected to the host and the other end is connected to the storage particles. A compatible host is provided at the end connected to the host. A host interface protocol module of the interface protocol, and a storage particle interface protocol module conforming to the storage particle interface protocol is provided at one end connected to the storage particle. Because the speed of data transmission between the two interface protocol modules exists
- the purpose of the present invention is how to improve the probability of sequential read and parallel operation, and overall improve the performance of the solid state hard disk.
- the present invention proposes a method for improving the sequential read performance of a solid-state hard disk, which is characterized in that a splicing unit and a command judgment module are added to the read operation, and the command judgment module judges continuously whether the logical address of the read command is input. Whether the commands within a certain interval are sequential read commands. If so, add the current sequential read request to the stitching unit, and stitch the read commands according to the written rules. After the stitching is completed, the read commands of the same stitching unit are read in parallel. Way to access the storage unit.
- the method for improving the sequential read performance of the solid-state hard disk is characterized in that the newly generated sequential read command first determines whether the new sequential read command conforms to the existing splicing unit before joining the splicing unit, and if it is, then directly joins the splicing Unit, if not, refresh the existing splicing unit and generate a new splicing unit, and add the sequential read command to the new splicing unit.
- the method for improving sequential read performance of a solid-state hard disk further includes a timeout trigger module.
- a timeout trigger module When a splicing unit exceeds a preset time and no new read command is added to the splicing unit, the existing splicing unit is refreshed and executed.
- a solid state hard disk is characterized in that a splicing unit and a command judgment module are added during a read operation, and the command judgment module continuously judges whether a command within a certain interval belongs to a sequential read command according to whether the logical address of the read command is input, and if so, The current sequential read request is added to the splicing unit, and after the splicing is completed, the read command of the same splicing unit is accessed in parallel to the storage unit.
- the solid-state hard disk is characterized in that the newly generated sequential read command judges whether the new sequential read command conforms to the existing splicing unit before joining the splicing unit, and if it is, it is directly added to the splicing unit.
- the existing splicing unit is refreshed and executed, and a new splicing unit is generated, and the sequential read command is added to the new splicing unit.
- the solid state hard disk further includes a timeout trigger module.
- a timeout trigger module When a splicing unit exceeds a preset time and no new read command is added to the splicing unit, the existing splicing unit is refreshed and executed.
- the beneficial effects of the present invention are as follows: simply judging whether the logical address of the read command is a sequential read command or not, by adding the splicing unit, the read command is spliced according to the writing rule, and multiple commands are read in parallel. , Which effectively improves sequential read performance.
- FIG. 1 is a schematic diagram of a write address allocation rule for continuous LPA
- FIG. 2 is an execution flowchart when the task is driven
- Figure 3 is an execution flowchart triggered by the timeout mechanism.
- the logical address LPA of the read request is continuous, and the magnitude of the read request is relatively large.
- the source address of the data being read on NandFlash is related to the write distribution rules of these data.
- Figure 1 is the write of continuous LPA
- the schematic diagram of the incoming address allocation rule can simply show the effect of the write allocation rule.
- This write allocation rule can trigger the parallel read operation Multi_PlaneRead with the greatest probability when reading the scene sequentially.
- LPA0-LPA7 is distributed to the Page of the same index Index of Blockn and Blockm. Blockn and Blockm belong to two different Planes under a Die, which conforms to the Parallel Multi_Plane rule. achieve.
- the method of this patent is that the firmware system determines the LPAID of the read request. If the continuous LPA reaches a certain number, it is determined that the system is currently in the sequential read scenario, and these and subsequent subsequent LPA reads are read. Requests are marked for sequential reading.
- Figure 2 is a task-driven execution flowchart; task-driven and time-out mechanisms cooperate, and task-driven splicing mechanism processes execute input-dependent requests.
- the request is first parsed and judged according to the request type. If the current request is a sequential read request, the process is continued based on whether there is currently a splicing unit. When a splicing unit exists in the system, it indicates that the previous sequential read request is newly generated or assembled into a splicing unit.
- the input sequential read request determines whether to join the splicing unit according to whether it conforms to the Multi_Plane rule of the splicing unit. If the Multi_Plane splicing rule of the splicing unit is not met, the current splicing unit is refreshed (that is, the NandFlash terminal executes the Multi_PlaneRead operation corresponding to this splicing unit), and the sequential read input is requested to newly generate the corresponding splicing unit. Whenever the current sequential read request is added to the splicing unit, the system checks the splicing unit to confirm whether the updated splicing unit has reached the maximum capacity of the splicing unit. For example, the sequential read scenario of LPA0-LPA7.
- the read request of LPA0 newly generates Page0's Multi_Plane splicing unit.
- the read requests of LPA1- LPA7 and Page0 splicing unit conform to the Multi_Plane rule. They are added to the splicing unit.
- the splicing unit contains read requests for LPA0-LPA7, and the inspection of the splicing unit has found that it has reached the maximum capacity (see Figure 1 that the largest LPAID of Multi_PlaneRead for Blockn and BlockmPage0 can only support LPA7), and then the Refresh action.
- the timeout mechanism can increase the flexibility of the sequential read request time, avoid long-term waiting of the splicing unit, and also prevent the splicing unit caused by the request delay from being refreshed and executed without forming a Multi_Plane operation.
- this module receives the sequential read requests of LPA0-LPA3 and combines them into a splicing unit (only read requests of LPA0-LPA3 are received at one time instead of LPA0-LPA7 at one time.
- the reason for the read request is the module's scheduling strategy and the saturation of the request.
- the splicing unit actually only has the Signle_PlaneRead of BlocknPage0; 2 wait until the next request drives the refresh of the splicing unit (the request and the splicing unit do not comply with the Multi_Plane splicing rule) or update (sequential read request joins the splicing unit ), That is, after receiving the last LPA3 sequential read request, the waiting time is unknown.
Abstract
Description
Claims (6)
- 一种提升固态硬盘顺序读性能的方法,其特征在于在读操作中增加一个拼接单元和命令判断模块,所述命令判断模块根据输入的读命令的逻辑地址是否连续判断一定间隔内的命令是否属于顺序读命令,如果是则将当前的顺序读请求加入拼接单元,将读命令按照写入的规则进行拼接,完成拼接后实现同一个拼接单元的读命令按并行读取的方式访问存储单元。A method for improving sequential read performance of a solid-state hard disk, which is characterized in that a splicing unit and a command judgment module are added in the read operation, and the command judgment module continuously judges whether a command within a certain interval belongs to a sequence according to whether the logical address of the read command input is continuous The read command, if it is, adds the current sequential read request to the splicing unit, and splices the read command according to the writing rules. After the splicing is completed, the read command of the same splicing unit is accessed in parallel to the storage unit.
- 根据权利要求1所述的固态硬盘提升顺序读性能的方法,其特征在于新产生的顺序读命令在加入拼接单元前先判断新的顺序读命令是否与已有的拼接单元符合拼接规则,如果是则直接加入拼接单元,如果不是则将已有拼接单元刷新执行,并生成新的拼接单元,将顺序读命令加入新的拼接单元。The method for improving sequential read performance of a solid state hard disk according to claim 1, characterized in that the newly generated sequential read command determines whether the new sequential read command conforms to the existing stitching unit before joining the stitching unit, and if it is Add the splicing unit directly, if not, refresh the existing splicing unit and generate a new splicing unit, and add the sequential read command to the new splicing unit.
- 根据权利要求1所述的固态硬盘提升顺序读性能的方法,其特征在于还包括超时触发模块,当一个拼接单元超过预先设定的时间没有新的读命令加入拼接单元,则将已有拼接单元刷新执行。The method for improving sequential read performance of a solid-state hard disk according to claim 1, further comprising a timeout trigger module. When a splicing unit exceeds a preset time without a new read command being added to the splicing unit, the existing splicing unit is added. Refresh execution.
- 一种固态硬盘,其特征在于在读操作中增加一个拼接单元和命令判断模块,所述命令判断模块根据输入的读命令的逻辑地址是否连续判断一定间隔内的命令是否属于顺序读命令,如果是则将当前的顺序读请求加入拼接单元,将读命令按照写入的规则进行拼接,完成拼接后实现同一个拼接单元的读命令按并行读取的方式访问存储单元。A solid state hard disk is characterized in that a splicing unit and a command judgment module are added during a read operation, and the command judgment module continuously judges whether a command within a certain interval belongs to a sequential read command according to whether the logical address of the read command is input, and if so, The current sequential read request is added to the splicing unit, and the read command is spliced according to the writing rules. After the splicing is completed, the read command of the same splicing unit is accessed in parallel to the storage unit.
- 根据权利要求4所述的固态硬盘,其特征在于新产生的顺序读命令在加入拼接单元前先判断新的顺序读命令是否与已有的拼接单元符合拼接规则,如果是则直接加入拼接单元,如果不是则将已有拼接单元刷新执行,并生成新的拼接单元,将顺序读命令加入新的拼接单元。The solid-state hard disk according to claim 4, wherein the newly generated sequential read command determines whether the new sequential read command conforms to the existing splicing unit before joining the splicing unit, and if so, directly adds the splicing unit, If not, the existing splicing unit is refreshed and executed, and a new splicing unit is generated, and a sequential read command is added to the new splicing unit.
- 根据权利要求4所述的固态硬盘,其特征在于还包括超时触发模块,当一个拼接单元超过预先设定的时间没有新的读命令加入拼接单元,则将已有拼接单元刷新执行。The solid-state hard disk according to claim 4, further comprising a timeout trigger module, and when a splicing unit exceeds a preset time and no new read command is added to the splicing unit, the existing splicing unit is refreshed and executed.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811017961.8 | 2018-09-01 | ||
CN201811017961.8A CN109271107A (en) | 2018-09-01 | 2018-09-01 | A method of promoting solid state hard disk sequence reading performance |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2020042388A1 true WO2020042388A1 (en) | 2020-03-05 |
Family
ID=65187718
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/CN2018/116814 WO2020042388A1 (en) | 2018-09-01 | 2018-11-22 | Method for improving sequential read performance of solid state drive |
Country Status (3)
Country | Link |
---|---|
CN (1) | CN109271107A (en) |
LU (1) | LU101773B1 (en) |
WO (1) | WO2020042388A1 (en) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112433672B (en) * | 2020-11-12 | 2023-01-06 | 苏州浪潮智能科技有限公司 | Solid state disk reading method and device |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101196850A (en) * | 2007-12-28 | 2008-06-11 | 祥硕科技股份有限公司 | Data access integration method and its system |
US20150052415A1 (en) * | 2013-08-13 | 2015-02-19 | SK Hynix Inc. | Data storage device, operating method thereof and data processing system including the same |
CN106201774A (en) * | 2016-06-28 | 2016-12-07 | 中国人民解放军61660部队 | A kind of NAND FLASH storage chip data store organisation analyzes method |
CN108170380A (en) * | 2017-12-28 | 2018-06-15 | 深圳忆联信息系统有限公司 | A kind of method and solid state disk of solid state disk promotion sequence reading performance |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102298508B (en) * | 2011-09-07 | 2014-08-06 | 记忆科技(深圳)有限公司 | Stream-based method and device for prereading solid state disk |
CN104111894A (en) * | 2014-07-17 | 2014-10-22 | 记忆科技(深圳)有限公司 | Method for improving multi-partition sequential read-write performance and system thereof |
-
2018
- 2018-09-01 CN CN201811017961.8A patent/CN109271107A/en active Pending
- 2018-11-22 WO PCT/CN2018/116814 patent/WO2020042388A1/en active Application Filing
- 2018-11-22 LU LU101773A patent/LU101773B1/en active IP Right Grant
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101196850A (en) * | 2007-12-28 | 2008-06-11 | 祥硕科技股份有限公司 | Data access integration method and its system |
US20150052415A1 (en) * | 2013-08-13 | 2015-02-19 | SK Hynix Inc. | Data storage device, operating method thereof and data processing system including the same |
CN106201774A (en) * | 2016-06-28 | 2016-12-07 | 中国人民解放军61660部队 | A kind of NAND FLASH storage chip data store organisation analyzes method |
CN108170380A (en) * | 2017-12-28 | 2018-06-15 | 深圳忆联信息系统有限公司 | A kind of method and solid state disk of solid state disk promotion sequence reading performance |
Also Published As
Publication number | Publication date |
---|---|
CN109271107A (en) | 2019-01-25 |
LU101773B1 (en) | 2020-09-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9110669B2 (en) | Power management of a storage device including multiple processing cores | |
US8738837B2 (en) | Control of page access in memory | |
US10860494B2 (en) | Flushing pages from solid-state storage device | |
US11360705B2 (en) | Method and device for queuing and executing operation commands on a hard disk | |
WO2023103296A1 (en) | Write data cache method and system, device, and storage medium | |
US10645164B1 (en) | Consistent latency for solid state drives | |
CN110941395B (en) | Dynamic random access memory, memory management method, system and storage medium | |
US11385831B2 (en) | Memory controller and storage device including the same | |
US9632958B2 (en) | System for migrating stash transactions | |
RU2643499C2 (en) | Memory control | |
CN110910921A (en) | Command read-write method and device and computer storage medium | |
US11010094B2 (en) | Task management method and host for electronic storage device | |
TWI698744B (en) | Data storage device and method for updating logical-to-physical mapping table | |
WO2020042388A1 (en) | Method for improving sequential read performance of solid state drive | |
WO2022032990A1 (en) | Command information transmission method, system, and apparatus, and readable storage medium | |
US20180173639A1 (en) | Memory access method, apparatus, and system | |
WO2024027140A1 (en) | Data processing method and apparatus, and device, system and readable storage medium | |
CN108170380B (en) | Method for improving sequential reading performance of solid state disk and solid state disk | |
US20230325082A1 (en) | Method for setting up and expanding storage capacity of cloud without disruption of cloud services and electronic device employing method | |
Kim et al. | Fast i/o: Qos supports for urgent i/os in nvme ssds | |
WO2022228566A1 (en) | Hardware queue management system and method, and solid state drive controller and solid state drive | |
US20220261354A1 (en) | Data access method and apparatus and storage medium | |
WO2024021485A1 (en) | Processor performance adjustment method and apparatus, electronic device and storage medium | |
WO2021139733A1 (en) | Memory allocation method and device, and computer readable storage medium | |
CN111177027B (en) | Dynamic random access memory, memory management method, system and storage medium |
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: 18932268 Country of ref document: EP Kind code of ref document: A1 |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
122 | Ep: pct application non-entry in european phase |
Ref document number: 18932268 Country of ref document: EP Kind code of ref document: A1 |
|
32PN | Ep: public notification in the ep bulletin as address of the adressee cannot be established |
Free format text: NOTING OF LOSS OF RIGHTS PURSUANT TO RULE 112(1) EPC (EPO FORM 1205A DATED 170821) |
|
122 | Ep: pct application non-entry in european phase |
Ref document number: 18932268 Country of ref document: EP Kind code of ref document: A1 |