CN107209719A - 一种阵列控制器、固态硬盘和控制固态硬盘写数据的方法 - Google Patents

一种阵列控制器、固态硬盘和控制固态硬盘写数据的方法 Download PDF

Info

Publication number
CN107209719A
CN107209719A CN201580003127.1A CN201580003127A CN107209719A CN 107209719 A CN107209719 A CN 107209719A CN 201580003127 A CN201580003127 A CN 201580003127A CN 107209719 A CN107209719 A CN 107209719A
Authority
CN
China
Prior art keywords
logical block
hard disk
write data
solid state
state hard
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201580003127.1A
Other languages
English (en)
Other versions
CN107209719B (zh
Inventor
蒋培军
薛强
黄克骥
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Publication of CN107209719A publication Critical patent/CN107209719A/zh
Application granted granted Critical
Publication of CN107209719B publication Critical patent/CN107209719B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0608Saving storage space on storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/06Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • G06F12/0238Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
    • G06F12/0246Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • G06F12/0253Garbage collection, i.e. reclamation of unreferenced memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0804Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches with main memory updating
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0866Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches for peripheral storage systems, e.g. disk cache
    • G06F12/0868Data transfer between cache memory and other subsystems, e.g. storage devices or host systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0646Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
    • G06F3/065Replication mechanisms
    • 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/0683Plurality of storage devices
    • G06F3/0688Non-volatile semiconductor memory arrays
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1032Reliability improvement, data loss prevention, degraded operation etc
    • G06F2212/1036Life time enhancement
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/72Details relating to flash memory management
    • G06F2212/7201Logical to physical mapping or translation of blocks or pages
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/72Details relating to flash memory management
    • G06F2212/7203Temporary buffering, e.g. using volatile buffer or dedicated buffer blocks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/72Details relating to flash memory management
    • G06F2212/7204Capacity control, e.g. partitioning, end-of-life degradation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/72Details relating to flash memory management
    • G06F2212/7205Cleaning, compaction, garbage collection, erase control
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/72Details relating to flash memory management
    • G06F2212/7208Multiple device management, e.g. distributing data over multiple flash devices

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
  • Signal Processing For Digital Recording And Reproducing (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明实施例提供了一种阵列控制器,包括通信接口和处理器。通信接口用于和固态硬盘通信。处理器用于接收固态硬盘发送的逻辑块的信息,逻辑块的信息包括逻辑块的容量和逻辑块的指示信息。所述逻辑块包括一个或多个块。所述处理器还用于向所述固态硬盘发送多个写数据请求,每个写数据请求携带目标数据,所述每个写数据请求用于指示所述固态硬盘将所述目标数据写入所述逻辑块的指示信息所指示的所述逻辑块中,并且所述多个写数据请求携带的目标数据的长度的总和等于所述逻辑块的容量。当所述固态硬盘将每个目标数据写入所述逻辑块之后,可以将该逻辑块写满。在所述固态硬盘进行垃圾回收操作时,可以减小写放大。

Description

PCT国内申请,说明书已公开。

Claims (33)

  1. PCT国内申请,权利要求书已公开。
CN201580003127.1A 2015-12-03 2015-12-03 一种阵列控制器、固态硬盘和控制固态硬盘写数据的方法 Active CN107209719B (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2015/096357 WO2017092015A1 (zh) 2015-12-03 2015-12-03 一种阵列控制器、固态硬盘和控制固态硬盘写数据的方法

Publications (2)

Publication Number Publication Date
CN107209719A true CN107209719A (zh) 2017-09-26
CN107209719B CN107209719B (zh) 2018-10-09

Family

ID=58794303

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201580003127.1A Active CN107209719B (zh) 2015-12-03 2015-12-03 一种阵列控制器、固态硬盘和控制固态硬盘写数据的方法

Country Status (13)

Country Link
US (1) US10761731B2 (zh)
EP (1) EP3220275B1 (zh)
JP (1) JP6319607B2 (zh)
KR (1) KR102013430B1 (zh)
CN (1) CN107209719B (zh)
AU (1) AU2015381014B2 (zh)
BR (1) BR112016019305B1 (zh)
CA (1) CA2938242C (zh)
MX (1) MX361249B (zh)
RU (1) RU2661280C2 (zh)
SG (1) SG11201606555QA (zh)
WO (1) WO2017092015A1 (zh)
ZA (1) ZA201605526B (zh)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109189337A (zh) * 2018-08-21 2019-01-11 浪潮电子信息产业股份有限公司 一种选择数据块的方法、装置、设备及可读存储介质
CN109976673A (zh) * 2019-03-29 2019-07-05 新华三技术有限公司 一种数据写入方法和装置
CN110309078A (zh) * 2019-07-02 2019-10-08 北京计算机技术及应用研究所 一种全闪存储阵列的主机与固态盘协同垃圾回收方法
CN112306896A (zh) * 2019-07-31 2021-02-02 华为技术有限公司 一种垃圾回收方法及装置
CN113568582A (zh) * 2021-07-30 2021-10-29 重庆紫光华山智安科技有限公司 数据管理方法、装置和存储设备
CN113867651A (zh) * 2021-12-03 2021-12-31 武汉深之度科技有限公司 一种硬盘数据清理方法、装置及计算设备

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108475230B (zh) 2016-11-11 2021-07-16 华为技术有限公司 一种存储系统和系统垃圾回收方法
CN109491587B (zh) 2017-09-11 2021-03-23 华为技术有限公司 数据访问的方法及装置
WO2019080015A1 (zh) * 2017-10-25 2019-05-02 华为技术有限公司 一种数据读写方法、装置和存储服务器
KR20200078046A (ko) 2018-12-21 2020-07-01 에스케이하이닉스 주식회사 메모리 시스템 및 메모리 시스템의 동작방법
JP2021033847A (ja) * 2019-08-28 2021-03-01 キオクシア株式会社 メモリシステムおよび制御方法
US11099785B2 (en) * 2019-12-23 2021-08-24 Micron Technology, Inc. Linking access commands for a memory sub-system
RU2759503C1 (ru) * 2021-04-19 2021-11-15 Акционерное Общество "Крафтвэй Корпорэйшн Плс" Способ сборки мусора в твердотельном накопителе информации
WO2022240318A1 (ru) * 2021-05-13 2022-11-17 Общество с ограниченной ответственностью "РЭЙДИКС" Способ управления системой хранения данных и система хранения данных
US20230128077A1 (en) * 2021-10-22 2023-04-27 EMC IP Holding Company, LLC System and Method for Aggregation of Write Commits To Control Written Block Size

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8316176B1 (en) * 2010-02-17 2012-11-20 Western Digital Technologies, Inc. Non-volatile semiconductor memory segregating sequential data during garbage collection to reduce write amplification
CN104484283A (zh) * 2014-11-27 2015-04-01 记忆科技(深圳)有限公司 一种降低固态硬盘写放大的方法
CN105094685A (zh) * 2014-04-29 2015-11-25 国际商业机器公司 进行存储控制的方法和设备

Family Cites Families (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8108590B2 (en) * 2000-01-06 2012-01-31 Super Talent Electronics, Inc. Multi-operation write aggregator using a page buffer and a scratch flash block in each of multiple channels of a large array of flash memory to reduce block wear
RU2280273C2 (ru) * 2003-07-16 2006-07-20 Открытое акционерное общество "Научно-производственное объединение "Прибор" Способ структурирования и записи цифровой информации и устройство для его осуществления
KR101087906B1 (ko) * 2003-11-18 2011-11-30 파나소닉 주식회사 파일기록장치
US7433993B2 (en) * 2003-12-30 2008-10-07 San Disk Corportion Adaptive metablocks
US7562202B2 (en) * 2004-07-30 2009-07-14 United Parcel Service Of America, Inc. Systems, methods, computer readable medium and apparatus for memory management using NVRAM
US20100180072A1 (en) * 2007-06-22 2010-07-15 Shigekazu Kogita Memory controller, nonvolatile memory device, file system, nonvolatile memory system, data writing method and data writing program
JP4675985B2 (ja) * 2008-03-01 2011-04-27 株式会社東芝 メモリシステム
US8554987B2 (en) * 2009-06-18 2013-10-08 Panasonic Corporation Nonvolatile memory system for improving stream data writing
US9135190B1 (en) * 2009-09-04 2015-09-15 Bitmicro Networks, Inc. Multi-profile memory controller for computing devices
US9753847B2 (en) * 2009-10-27 2017-09-05 Western Digital Technologies, Inc. Non-volatile semiconductor memory segregating sequential, random, and system data to reduce garbage collection for page based mapping
TWI428917B (zh) * 2009-11-25 2014-03-01 Silicon Motion Inc 快閃記憶裝置、資料儲存系統、以及資料儲存系統之運作方法
US8285946B2 (en) * 2009-12-15 2012-10-09 International Business Machines Corporation Reducing access contention in flash-based memory systems
US8850114B2 (en) * 2010-09-07 2014-09-30 Daniel L Rosenband Storage array controller for flash-based storage devices
US20150121003A1 (en) * 2010-09-07 2015-04-30 Daniel L. Rosenband Storage controllers
JP5388976B2 (ja) * 2010-09-22 2014-01-15 株式会社東芝 半導体記憶制御装置
US8484408B2 (en) * 2010-12-29 2013-07-09 International Business Machines Corporation Storage system cache with flash memory in a raid configuration that commits writes as full stripes
US8832371B2 (en) * 2011-04-04 2014-09-09 Hitachi, Ltd. Storage system with multiple flash memory packages and data control method therefor
US8635407B2 (en) * 2011-09-30 2014-01-21 International Business Machines Corporation Direct memory address for solid-state drives
KR20130076429A (ko) * 2011-12-28 2013-07-08 삼성전자주식회사 메모리 장치의 저장 영역 관리 방법 및 이를 이용한 저장 장치
KR20130127274A (ko) * 2012-05-14 2013-11-22 삼성전자주식회사 메모리 오퍼레이션 타이밍 제어 방법 및 이를 이용한 메모리 시스템
KR20140040998A (ko) * 2012-09-27 2014-04-04 삼성전자주식회사 로그기반 데이터 저장 시스템의 관리방법
US20150212752A1 (en) * 2013-04-08 2015-07-30 Avalanche Technology, Inc. Storage system redundant array of solid state disk array
US9672167B2 (en) * 2013-07-22 2017-06-06 Futurewei Technologies, Inc. Resource management for peripheral component interconnect-express domains
CN103488583B (zh) * 2013-09-09 2016-08-10 华中科技大学 一种高性能高可靠的固态盘实现方法
CN103744614B (zh) * 2013-12-17 2017-07-07 记忆科技(深圳)有限公司 固态硬盘访问的方法及其固态硬盘
EP2988221B1 (en) 2014-06-27 2017-08-09 Huawei Technologies Co., Ltd. Controller, flash memory device and method for writing data into flash memory device
US9870153B2 (en) * 2014-12-29 2018-01-16 Sandisk Technologies Llc Non-volatile memory systems utilizing storage address tables

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8316176B1 (en) * 2010-02-17 2012-11-20 Western Digital Technologies, Inc. Non-volatile semiconductor memory segregating sequential data during garbage collection to reduce write amplification
CN105094685A (zh) * 2014-04-29 2015-11-25 国际商业机器公司 进行存储控制的方法和设备
CN104484283A (zh) * 2014-11-27 2015-04-01 记忆科技(深圳)有限公司 一种降低固态硬盘写放大的方法

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109189337A (zh) * 2018-08-21 2019-01-11 浪潮电子信息产业股份有限公司 一种选择数据块的方法、装置、设备及可读存储介质
CN109976673A (zh) * 2019-03-29 2019-07-05 新华三技术有限公司 一种数据写入方法和装置
CN110309078A (zh) * 2019-07-02 2019-10-08 北京计算机技术及应用研究所 一种全闪存储阵列的主机与固态盘协同垃圾回收方法
CN110309078B (zh) * 2019-07-02 2021-07-02 北京计算机技术及应用研究所 一种全闪存储阵列的主机与固态盘协同垃圾回收方法
CN112306896A (zh) * 2019-07-31 2021-02-02 华为技术有限公司 一种垃圾回收方法及装置
CN112306896B (zh) * 2019-07-31 2022-12-27 华为技术有限公司 一种垃圾回收方法及装置
CN113568582A (zh) * 2021-07-30 2021-10-29 重庆紫光华山智安科技有限公司 数据管理方法、装置和存储设备
CN113568582B (zh) * 2021-07-30 2023-05-26 重庆紫光华山智安科技有限公司 数据管理方法、装置和存储设备
CN113867651A (zh) * 2021-12-03 2021-12-31 武汉深之度科技有限公司 一种硬盘数据清理方法、装置及计算设备

Also Published As

Publication number Publication date
SG11201606555QA (en) 2017-07-28
KR102013430B1 (ko) 2019-08-22
BR112016019305A2 (zh) 2017-10-03
EP3220275A4 (en) 2018-02-28
RU2016138160A3 (zh) 2018-04-02
AU2015381014A1 (en) 2017-06-22
WO2017092015A1 (zh) 2017-06-08
CA2938242A1 (en) 2017-06-03
MX2016012054A (es) 2017-06-19
RU2661280C2 (ru) 2018-07-13
BR112016019305B1 (pt) 2022-08-16
EP3220275A1 (en) 2017-09-20
JP6319607B2 (ja) 2018-05-09
MX361249B (es) 2018-11-30
CN107209719B (zh) 2018-10-09
US10761731B2 (en) 2020-09-01
CA2938242C (en) 2017-10-31
US20180165014A1 (en) 2018-06-14
RU2016138160A (ru) 2018-04-02
KR20170083963A (ko) 2017-07-19
JP2018502343A (ja) 2018-01-25
ZA201605526B (en) 2019-04-24
EP3220275B1 (en) 2020-11-04
AU2015381014B2 (en) 2018-02-22

Similar Documents

Publication Publication Date Title
CN107209719A (zh) 一种阵列控制器、固态硬盘和控制固态硬盘写数据的方法
CN109154917B (zh) 存储系统和固态硬盘
US20150378888A1 (en) Controller, flash memory apparatus, and method for writing data into flash memory apparatus
CN107885456B (zh) 减少io命令访问nvm的冲突
CN101952808B (zh) 存储设备的扩展利用区域
CN110032333B (zh) 存储器系统及其操作方法
CN108153680B (zh) 数据存储装置及其操作方法
CN105980992A (zh) 一种控制器、闪存装置、识别数据块稳定性的方法以及在闪存装置中存储数据的方法
CA2978927C (en) Data check method and storage system
CN104298606A (zh) 固态存储装置中垃圾搜集动作的控制方法
US20130326113A1 (en) Usage of a flag bit to suppress data transfer in a mass storage system having non-volatile memory
US20080120456A1 (en) Method for flash memory data management
CA2896369C (en) Method for writing data into flash memory apparatus, flash memory apparatus, and storage system
CN103631728A (zh) 使用自适应压缩比率快速执行刷新命令
KR20140050941A (ko) 비휘발성 메모리 장치의 데이터 관리 방법
CN103902475B (zh) 一种基于队列管理机制的固态硬盘并行访问方法及装置
CN105917303A (zh) 一种控制器、识别数据块稳定性的方法和存储系统
CN110688323A (zh) 一种系统控制器和系统垃圾回收方法
CN110119245B (zh) 用于操作nand闪存物理空间以扩展存储器容量的方法和系统
US20240061585A1 (en) Memory command assignment based on command processor workload
CN104750424A (zh) 一种存储系统及其非易失性存储器的控制方法
KR101691286B1 (ko) 입출력 정보 공유 방법, 상기 방법을 수행하는 저장 장치 및 호스트 장치
CN111176826A (zh) 基于资源分配优化的命令处理方法

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant