FR3033061A1 - - Google Patents
Download PDFInfo
- Publication number
- FR3033061A1 FR3033061A1 FR1651107A FR1651107A FR3033061A1 FR 3033061 A1 FR3033061 A1 FR 3033061A1 FR 1651107 A FR1651107 A FR 1651107A FR 1651107 A FR1651107 A FR 1651107A FR 3033061 A1 FR3033061 A1 FR 3033061A1
- Authority
- FR
- France
- Prior art keywords
- master
- entry
- index
- cloned
- input
- 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
Links
- 238000000034 method Methods 0.000 claims abstract description 50
- 238000011084 recovery Methods 0.000 claims description 16
- 238000004590 computer program Methods 0.000 claims description 6
- 230000002093 peripheral effect Effects 0.000 claims description 3
- 238000013403 standard screening design Methods 0.000 description 27
- 238000010367 cloning Methods 0.000 description 8
- 230000006870 function Effects 0.000 description 8
- 235000019580 granularity Nutrition 0.000 description 6
- 238000004422 calculation algorithm Methods 0.000 description 5
- 238000005516 engineering process Methods 0.000 description 4
- 238000013507 mapping Methods 0.000 description 3
- 239000004065 semiconductor Substances 0.000 description 3
- 238000004891 communication Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- 230000003321 amplification Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 238000003199 nucleic acid amplification method Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000005192 partition Methods 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
- G06F12/0253—Garbage collection, i.e. reclamation of unreferenced memory
- G06F12/0261—Garbage collection, i.e. reclamation of unreferenced memory using reference counting
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/70—Masking faults in memories by using spares or by reconfiguring
- G11C29/76—Masking faults in memories by using spares or by reconfiguring using address translation or modifications
- G11C29/765—Masking faults in memories by using spares or by reconfiguring using address translation or modifications in solid state disks
-
- 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
- G06F3/0619—Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
- G06F12/0238—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
- G06F12/0246—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/0292—User address space allocation, e.g. contiguous or non contiguous base addressing using tables or multilevel address translation means
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/10—Address translation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/16—Protection against loss of memory contents
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/40—Bus structure
- G06F13/4004—Coupling between buses
- G06F13/4022—Coupling between buses using switching circuits, e.g. switching matrix, connection or expansion network
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/42—Bus transfer protocol, e.g. handshake; Synchronisation
- G06F13/4282—Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
-
- 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/0608—Saving storage space on 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/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/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0638—Organizing or formatting or addressing of data
- G06F3/064—Management of blocks
- G06F3/0641—De-duplication techniques
-
- 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/0646—Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
- G06F3/065—Replication mechanisms
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
-
- G—PHYSICS
- 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
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/04—Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/52—Protection of memory contents; Detection of errors in memory contents
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/10—Providing a specific technical effect
- G06F2212/1008—Correctness of operation, e.g. memory ordering
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/10—Providing a specific technical effect
- G06F2212/1016—Performance improvement
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/10—Providing a specific technical effect
- G06F2212/1032—Reliability improvement, data loss prevention, degraded operation etc
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/15—Use in a specific computing environment
- G06F2212/154—Networked environment
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/72—Details relating to flash memory management
- G06F2212/7201—Logical to physical mapping or translation of blocks or pages
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Mathematical Physics (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Quality & Reliability (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Memory System (AREA)
- Read Only Memory (AREA)
Abstract
Description
Claims (25)
- REVENDICATIONS1. Procédé destiné à fournir une fonctionnalité améliorée de copie à l'écriture dans un SSD consistant à : prévoir, dans la mémoire d'un dispositif, une structure de données d'indirection 5 comprenant : une entrée maîtresse pour des données clonées, l'entrée maîtresse comportant une référence à un ou plusieurs index ; une entrée de clone pour les données clonées, l'entrée clonée comportant au moins l'un des éléments suivants : une référence à un index maître, une référence à un index 10 suivant, et une valeur indiquant une extrémité d'une structure de données ; et parcourir, en utilisant un processeur d'ordinateur, une ou plusieurs copies des données clonées en utilisant une ou plusieurs des références.
- 2. Procédé selon la revendication 1, dans lequel la structure de données d'indirection 15 comprend une pluralité d'adresses physiques.
- 3. Procédé selon la revendication 1, dans lequel la structure de données d'indirection fait partie d'une liste chaînée circulaire, l'entrée maîtresse pour des données clonées comprenant une référence à un index maître et une référence à un index suivant. 20
- 4. Procédé selon la revendication 1, dans lequel la structure de données d'indirection fait partie d'une liste chaînée circulaire, l'entrée de clone pour les données clonées comprenant une référence à l'index maître et une référence à un index suivant. 25
- 5. Procédé selon la revendication 1, dans lequel la structure de données d'indirection fait partie d'une liste chaînée à une seule extrémité, une entrée contenue dans un index fournissant une indication du fait que l'index est un index maître.
- 6. Procédé selon la revendication 1, dans lequel les références comprennent des entrées 30 dans une table d'indirection absolue pour un adressage de blocs logiques.
- 7. Procédé selon la revendication 1, dans lequel les références comprennent des entrées dans une structure de données arborescente pour un adressage de blocs logiques. 3033061 23
- 8. Procédé selon la revendication 1, dans lequel la fonctionnalité améliorée de copie à l'écriture comprend une fonctionnalité améliorée de copie d'espace des noms.
- 9. Procédé selon la revendication 1, consistant en outre à positionner un indicateur pour un ou plusieurs blocs logiques condensés pour indiquer que lesdits un ou plusieurs blocs logiques condensés sont clonés.
- 10. Procédé selon la revendication 1, dans lequel un index maître de l'entrée maîtresse pointe sur l'entrée maîtresse.
- 11. Procédé selon la revendication 3, dans lequel l'index maître de l'entrée clonée pointe sur l'entrée maîtresse.
- 12. Procédé selon la revendication 4, dans lequel l'index suivant d'une dernière entrée clonée dans une structure de données pointe sur l'entrée maîtresse.
- 13. Procédé selon la revendication 4, consistant en outre à : déterminer que l'entrée de clone pour les données clonées est une entrée de clone seule, la détermination consistant à : déterminer que l'index suivant de l'entrée clonée concorde avec l'index maître de l'entrée clonée ; déterminer que l'index suivant de l'entrée maîtresse pointe sur l'entrée de clone ; décloner l'entrée de clone des données clonées en réglant l'index suivant de l'entrée de clone à une entrée d'indirection indiquant un bloc logique condensé et régler l'entrée d'index maître à une entrée d'indirection indiquant un bloc logique condensé ; et décloner l'entrée maîtresse des données clonées en réglant l'index suivant de l'entrée maîtresse à une première entrée d'indirection indiquant un premier bloc logique condensé d'une entrée maîtresse originale et régler l'index maître de l'entrée maîtresse à une seconde entrée d'indirection indiquant un second bloc logique condensé de l'entrée maîtresse 30 originale.
- 14. Procédé selon la revendication 4, consistant en outre à : déterminer que l'entrée de clone pour les données clonées est l'une d'une pluralité 3033061 24 d'entrées de clones, la détermination consistant à déterminer au moins l'un des points suivants : que l'index suivant de l'entrée clonée ne concorde pas avec l'index maître de l'entrée clonée ; et que l'index suivant de l'entrée maîtresse ne pointe pas sur l'entrée de clone ; et 5 décloner l'entrée de clone des données clonées en réglant l'index suivant d'une entrée précédente afin qu'elle pointe sur une entrée indiquée par l'index suivant de l'entrée de clone.
- 15. Procédé selon la revendication 1, consistant en outre à : examiner une entrée pendant un processus de récupération d'espace mémoire ; 10 déterminer que l'entrée contient un indicateur cloné ; et déterminer que l'entrée impliquée dans le processus de récupération d'espace mémoire est une entrée valide ne devant pas être supprimée sur la base de la détermination du fait que l'entrée contient l'indicateur cloné. 15
- 16. Produit de programme informatique constitué d'une série d'instructions exécutables sur un ordinateur, le produit de programme informatique exécutant un processus destiné à fournir une fonctionnalité améliorée de copie à l'écriture dans un SSD ; le programme informatique mettant en oeuvre les étapes consistant à : prévoir, dans la mémoire d'un dispositif, une structure de données d'indirection 20 comprenant : une entrée maîtresse pour des données clonées, l'entrée maîtresse comportant une référence à un ou plusieurs index ; une entrée de clone pour les données clonées, l'entrée clonée comportant au moins l'un des éléments suivants : une référence à un index maître, une référence à un index 25 suivant, et une valeur indiquant une extrémité d'une structure de données ; et parcourir, en utilisant un processeur d'ordinateur, une ou plusieurs copies des données clonées en utilisant une ou plusieurs des références.
- 17. Système destiné à fournir une fonctionnalité améliorée de copie à l'écriture dans un SSD, le système comprenant : un premier dispositif ; le premier dispositif comprenant des instructions stockées, qui sont stockées en mémoire, les instructions comprenant : 3033061 25 une instruction destinée à fournir, dans la mémoire du premier dispositif, une structure de données d'indirection comprenant : une entrée maîtresse pour des données clonées, l'entrée maîtresse comportant une référence à un ou plusieurs index ; 5 une entrée de clone pour les données clonées, l'entrée clonée comportant au moins l'un des éléments suivants : une référence à un index maître, une référence à un index suivant, et une valeur indiquant une extrémité d'une structure de données ; et parcourir, en utilisant un processeur d'ordinateur, une ou plusieurs copies des données clonées en utilisant une ou plusieurs des références. 10
- 18. Système selon la revendication 17, dans lequel la structure de données d'indirection comprend une pluralité d'adresses physiques.
- 19. Système selon la revendication 17, dans lequel la structure de données d'indirection fait partie d'une liste chaînée circulaire, l'entrée maîtresse pour des données clonées comprenant une référence à un index maître et une référence à un index suivant. 15
- 20. Système selon la revendication 17, dans lequel la structure de données d'indirection fait partie d'une liste chaînée circulaire, l'entrée de clone pour les données clonées comprenant une référence à l'index maître et une référence à un index suivant. 20
- 21. Système selon la revendication 17, dans lequel la structure de données d'indirection fait partie d'une liste chaînée à une seule extrémité, une entrée contenue dans un index fournissant une indication du fait que l'index est un index maître.
- 22. Système selon la revendication 17, dans lequel les références comprennent des entrées 25 dans une table d'indirection absolue pour un adressage de blocs logiques.
- 23. Système selon la revendication 17, dans lequel le premier dispositif comprend un dispositif d'Interconnexion de Composants Périphériques Express (PCIe). 30
- 24. Système selon la revendication 17, comprenant en outre une instruction destinée à positionner un indicateur pour un ou plusieurs blocs logiques condensés pour indiquer que lesdits un ou plusieurs blocs logiques condensés sont clonés. 3033061 26
- 25. Système selon la revendication 20, dans lequel l'index maître de l'entrée maîtresse et l'index maître de l'entrée clonée pointent sur l'entrée maîtresse et l'index suivant d'une dernière entrée clonée dans une structure de données pointe sur l'entrée maîtresse.
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US14/630,863 US9880755B2 (en) | 2015-02-25 | 2015-02-25 | System and method for copy on write on an SSD |
Publications (2)
Publication Number | Publication Date |
---|---|
FR3033061A1 true FR3033061A1 (fr) | 2016-08-26 |
FR3033061B1 FR3033061B1 (fr) | 2021-03-05 |
Family
ID=55590636
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
FR1651107A Active FR3033061B1 (fr) | 2015-02-25 | 2016-02-11 | Systeme et procede de copie a l'ecriture sur un ssd |
Country Status (7)
Country | Link |
---|---|
US (3) | US9880755B2 (fr) |
JP (1) | JP6218869B2 (fr) |
KR (1) | KR101813786B1 (fr) |
CN (1) | CN105912475A (fr) |
DE (1) | DE102016001591A1 (fr) |
FR (1) | FR3033061B1 (fr) |
GB (1) | GB2537012B (fr) |
Families Citing this family (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9880755B2 (en) * | 2015-02-25 | 2018-01-30 | Western Digital Technologies, Inc. | System and method for copy on write on an SSD |
US10606803B2 (en) * | 2016-06-28 | 2020-03-31 | Netapp, Inc. | Data cloning in memory-based file systems |
US10031689B2 (en) * | 2016-09-15 | 2018-07-24 | Western Digital Technologies, Inc. | Stream management for storage devices |
KR102631351B1 (ko) | 2016-10-07 | 2024-01-31 | 삼성전자주식회사 | 피어-투 피어 통신을 수행할 수 있는 저장 장치와 이를 포함하는 데이터 저장 시스템 |
JP6783645B2 (ja) | 2016-12-21 | 2020-11-11 | キオクシア株式会社 | メモリシステムおよび制御方法 |
US10268620B2 (en) * | 2016-12-23 | 2019-04-23 | Ati Technologies Ulc | Apparatus for connecting non-volatile memory locally to a GPU through a local switch |
US10585749B2 (en) * | 2017-08-10 | 2020-03-10 | Samsung Electronics Co., Ltd. | System and method for distributed erasure coding |
US11061585B1 (en) | 2017-10-19 | 2021-07-13 | EMC IP Holding Company, LLC | Integration of NVMe device with DRAM cache system and method |
US10521137B1 (en) * | 2017-10-31 | 2019-12-31 | EMC IP Holding Company LLC | Storage device array integration of dual-port NVMe device with DRAM cache and hostside portion of software stack system and method |
CN109902033B (zh) * | 2019-02-13 | 2023-03-14 | 山东华芯半导体有限公司 | 应用于NVMe SSD控制器的namespace的LBA分配方法和映射方法 |
JP7395388B2 (ja) | 2020-03-06 | 2023-12-11 | キオクシア株式会社 | メモリシステム及びその制御方法 |
US11640371B2 (en) | 2020-03-12 | 2023-05-02 | Western Digital Technologies, Inc. | Snapshot management in partitioned storage |
CN112817533A (zh) * | 2021-01-29 | 2021-05-18 | 深圳忆联信息系统有限公司 | Ssd管理方法、装置计算机设备及存储介质 |
US20210223979A1 (en) * | 2021-03-16 | 2021-07-22 | Intel Corporation | On-ssd-copy techniques using copy-on-write |
Family Cites Families (53)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4742450A (en) | 1986-01-16 | 1988-05-03 | International Business Machines Corporation | Method to share copy on write segment for mapped files |
US5481694A (en) * | 1991-09-26 | 1996-01-02 | Hewlett-Packard Company | High performance multiple-unit electronic data storage system with checkpoint logs for rapid failure recovery |
US5574905A (en) * | 1994-05-26 | 1996-11-12 | International Business Machines Corporation | Method and apparatus for multimedia editing and data recovery |
US5815649A (en) * | 1995-10-20 | 1998-09-29 | Stratus Computer, Inc. | Distributed fault tolerant digital data storage subsystem for fault tolerant computer system |
US6219770B1 (en) | 1998-03-23 | 2001-04-17 | Compaq Computer Corporation | Method and apparatus for managing copy on write operations in a virtual memory |
FI991336A (fi) * | 1999-06-10 | 2000-12-11 | Nokia Networks Oy | Menetelmä levyvarmennetun tietokannan elvyttämiseksi |
US6751583B1 (en) * | 1999-10-29 | 2004-06-15 | Vast Systems Technology Corporation | Hardware and software co-simulation including simulating a target processor using binary translation |
US6779095B2 (en) * | 2000-06-19 | 2004-08-17 | Storage Technology Corporation | Apparatus and method for instant copy of data using pointers to new and original data in a data location |
US6976021B2 (en) * | 2001-07-19 | 2005-12-13 | Riverstone Networks, Inc. | Method, system, and computer program product for managing a re-usable resource with linked list groups |
US6748504B2 (en) * | 2002-02-15 | 2004-06-08 | International Business Machines Corporation | Deferred copy-on-write of a snapshot |
US7249352B2 (en) * | 2002-08-22 | 2007-07-24 | International Business Machines Corporation | Apparatus and method for removing elements from a linked list |
US7529897B1 (en) * | 2003-12-31 | 2009-05-05 | Vmware, Inc. | Generating and using checkpoints in a virtual computer system |
US20070093124A1 (en) | 2005-10-20 | 2007-04-26 | Lsi Logic Corporation | Methods and structure for SAS expander optimization of SAS wide ports |
US7774316B2 (en) * | 2005-11-30 | 2010-08-10 | Oracle International Corp. | Filesystem snapshot enhancement to improve system performance |
US7499961B2 (en) * | 2006-01-12 | 2009-03-03 | Sun Microsystems, Inc. | Method and apparatus for limiting the size and facilitating maintenance of remembered sets in a space incremental garbage collector |
US7673185B2 (en) | 2006-06-08 | 2010-03-02 | Dot Hill Systems Corporation | Adaptive SAS PHY configuration |
US7941470B2 (en) * | 2007-03-29 | 2011-05-10 | Vmware, Inc. | Synchronization and customization of a clone computer |
US8706976B2 (en) * | 2007-08-30 | 2014-04-22 | Commvault Systems, Inc. | Parallel access virtual tape library and drives |
US8195912B2 (en) * | 2007-12-06 | 2012-06-05 | Fusion-io, Inc | Apparatus, system, and method for efficient mapping of virtual and physical addresses |
US7912995B1 (en) | 2007-12-20 | 2011-03-22 | Emc Corporation | Managing SAS topology |
US7941692B2 (en) | 2007-12-31 | 2011-05-10 | Intel Corporation | NAND power fail recovery |
US8190835B1 (en) | 2007-12-31 | 2012-05-29 | Emc Corporation | Global de-duplication in shared architectures |
US7953778B2 (en) * | 2008-05-20 | 2011-05-31 | International Business Machines Corporation | Efficient support of consistent cyclic search with read-copy update and parallel updates |
US20120311243A1 (en) * | 2008-05-30 | 2012-12-06 | Ite Tech. Inc. | Method for increasing reliability of data accessing for a multi-level cell type non-volatile memory |
JP5108667B2 (ja) * | 2008-07-23 | 2012-12-26 | 株式会社日立製作所 | リモートコピーシステム、及びリモートサイトの省電力化方法 |
JP5156518B2 (ja) * | 2008-07-23 | 2013-03-06 | 株式会社日立製作所 | 記憶制御装置及び方法 |
US8200922B2 (en) | 2008-12-17 | 2012-06-12 | Netapp, Inc. | Storage system snapshot assisted by SSD technology |
CA2766231C (fr) * | 2009-06-26 | 2017-01-17 | Simplivity Corporation | Systeme de fichier a espace de nom ayant acces a un magasin d'objets |
US20110161298A1 (en) | 2009-12-29 | 2011-06-30 | Grobman Steven L | System and method for opportunistic re-imaging using cannibalistic storage techniques on sparse storage devices |
US8447943B2 (en) | 2010-02-24 | 2013-05-21 | Hitachi, Ltd. | Reduction of I/O latency for writable copy-on-write snapshot function |
US9104546B2 (en) * | 2010-05-24 | 2015-08-11 | Silicon Motion Inc. | Method for performing block management using dynamic threshold, and associated memory device and controller thereof |
US8621143B2 (en) | 2011-04-15 | 2013-12-31 | Oracle International Corporation | Elastic data techniques for managing cache storage using RAM and flash-based memory |
US8868869B2 (en) * | 2011-08-08 | 2014-10-21 | International Business Machines Corporation | Enhanced copy-on-write operation for solid state drives |
US8527544B1 (en) * | 2011-08-11 | 2013-09-03 | Pure Storage Inc. | Garbage collection in a storage system |
US8930307B2 (en) | 2011-09-30 | 2015-01-06 | Pure Storage, Inc. | Method for removing duplicate data from a storage array |
WO2013038442A1 (fr) | 2011-09-13 | 2013-03-21 | Hitachi, Ltd. | Système de stockage comprenant une mémoire flash, et procédé de commande de stockage |
JP5776474B2 (ja) * | 2011-09-29 | 2015-09-09 | 富士通株式会社 | ストレージ装置、ストレージ制御装置およびコピー先データアクセス方法 |
US8935499B2 (en) * | 2011-10-17 | 2015-01-13 | International Business Machines Corporation | Interface for management of data movement in a thin provisioned storage system |
WO2013093957A1 (fr) * | 2011-12-19 | 2013-06-27 | Hitachi, Ltd. | Système informatique et procédé de commande de réclamation |
US9229853B2 (en) | 2011-12-20 | 2016-01-05 | Intel Corporation | Method and system for data de-duplication |
US9152570B2 (en) | 2012-02-27 | 2015-10-06 | Vmware, Inc. | System and method for supporting finer-grained copy-on-write page sizes |
US8843666B2 (en) | 2012-03-02 | 2014-09-23 | Lsi Corporation | Method for optimizing wide port power management in a SAS topology |
US8850145B1 (en) * | 2012-03-30 | 2014-09-30 | Emc Corporation | Managing consistency groups in storage systems |
CN103544077B (zh) * | 2012-07-17 | 2016-12-07 | 华为技术有限公司 | 数据处理方法及装置、共享存储设备 |
US8959374B2 (en) | 2012-07-31 | 2015-02-17 | Hewlett-Packard Development Company, L.P. | Power management for devices in a data storage fabric |
US8924751B2 (en) | 2012-07-31 | 2014-12-30 | Hewlett-Packard Development Company, L.P. | SAS power management |
US8862810B2 (en) | 2012-09-27 | 2014-10-14 | Arkologic Limited | Solid state device write operation management system |
US9063967B2 (en) * | 2013-01-10 | 2015-06-23 | Pure Storage, Inc. | Performing copies in a storage system |
EP2959373B1 (fr) | 2013-02-21 | 2020-07-15 | Hitachi Vantara LLC | Duplication au niveau objet d'objets clonés dans un système de stockage de données |
US20150006814A1 (en) | 2013-06-28 | 2015-01-01 | Western Digital Technologies, Inc. | Dynamic raid controller power management |
US9588882B2 (en) * | 2013-12-02 | 2017-03-07 | Intel Corporation | Non-volatile memory sector rotation |
US9170746B2 (en) | 2014-01-07 | 2015-10-27 | Netapp, Inc. | Clustered raid assimilation management |
US9880755B2 (en) * | 2015-02-25 | 2018-01-30 | Western Digital Technologies, Inc. | System and method for copy on write on an SSD |
-
2015
- 2015-02-25 US US14/630,863 patent/US9880755B2/en active Active
-
2016
- 2016-02-03 GB GB1601965.5A patent/GB2537012B/en active Active
- 2016-02-11 DE DE102016001591.8A patent/DE102016001591A1/de active Pending
- 2016-02-11 FR FR1651107A patent/FR3033061B1/fr active Active
- 2016-02-24 KR KR1020160022000A patent/KR101813786B1/ko active IP Right Grant
- 2016-02-24 JP JP2016033374A patent/JP6218869B2/ja active Active
- 2016-02-25 CN CN201610104585.0A patent/CN105912475A/zh active Pending
-
2018
- 2018-01-22 US US15/876,245 patent/US10540106B2/en active Active
-
2020
- 2020-01-17 US US16/746,663 patent/US11226747B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
JP2016157441A (ja) | 2016-09-01 |
US10540106B2 (en) | 2020-01-21 |
JP6218869B2 (ja) | 2017-10-25 |
GB201601965D0 (en) | 2016-03-16 |
US11226747B2 (en) | 2022-01-18 |
FR3033061B1 (fr) | 2021-03-05 |
US20160246521A1 (en) | 2016-08-25 |
KR101813786B1 (ko) | 2018-01-02 |
CN105912475A (zh) | 2016-08-31 |
US20200150883A1 (en) | 2020-05-14 |
US20180150249A1 (en) | 2018-05-31 |
US9880755B2 (en) | 2018-01-30 |
KR20160103945A (ko) | 2016-09-02 |
GB2537012B (en) | 2019-07-03 |
GB2537012A (en) | 2016-10-05 |
DE102016001591A1 (de) | 2016-08-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
FR3033061A1 (fr) | ||
US11989160B2 (en) | Heuristic interface for enabling a computer device to utilize data property-based data placement inside a nonvolatile memory device | |
US10089191B2 (en) | Selectively persisting application program data from system memory to non-volatile data storage | |
KR101480659B1 (ko) | 2-레벨 시스템 메인 메모리 | |
JP5592942B2 (ja) | 仮想マシンシステムにおけるショートカット入出力 | |
US8103847B2 (en) | Storage virtual containers | |
US10261703B2 (en) | Sharing read-only data among virtual machines using coherent accelerator processor interface (CAPI) enabled flash | |
US11263090B2 (en) | System and method for data packing into blobs for efficient storage | |
KR102530583B1 (ko) | 저장 장치 및 메모리 시스템 | |
US11169968B2 (en) | Region-integrated data deduplication implementing a multi-lifetime duplicate finder | |
US7945724B1 (en) | Non-volatile solid-state memory based adaptive playlist for storage system initialization operations | |
US9977599B2 (en) | Data deduplication with support for both thick and thin provisioning of storage objects | |
US10055304B2 (en) | In-memory continuous data protection | |
US8825970B1 (en) | System and method for mounting a storage volume utilizing a block reference list | |
CN111339046A (zh) | 针对文件的数据写入、读取和删除方法及装置 | |
US20170052705A1 (en) | Listing storage media |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PLFP | Fee payment |
Year of fee payment: 2 |
|
PLFP | Fee payment |
Year of fee payment: 3 |
|
PLFP | Fee payment |
Year of fee payment: 5 |
|
TP | Transmission of property |
Owner name: WESTERN DIGITAL TECHNOLOGIES, INC., US Effective date: 20200319 |
|
PLSC | Publication of the preliminary search report |
Effective date: 20200619 |
|
PLFP | Fee payment |
Year of fee payment: 6 |
|
PLFP | Fee payment |
Year of fee payment: 7 |
|
PLFP | Fee payment |
Year of fee payment: 8 |
|
PLFP | Fee payment |
Year of fee payment: 9 |
|
TP | Transmission of property |
Owner name: SANDISK TECHNOLOGIES, INC., US Effective date: 20240619 |
|
CD | Change of name or company name |
Owner name: SANDISK TECHNOLOGIES, INC., US Effective date: 20240723 |