Per-drive memory resident zeroing maps for drive zeroing in a data storage system

US10089015B1 · US · B1

Patent metadata
FieldValue
Publication numberUS-10089015-B1
Application numberUS-201615392342-A
CountryUS
Kind codeB1
Filing dateDec 28, 2016
Priority dateDec 28, 2016
Publication dateOct 2, 2018
Grant dateOct 2, 2018

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

Techniques are disclosed for drive zeroing that create and maintain a memory resident zeroing map for each drive in a data storage system. The disclosed techniques create, for each drive in an array of non-volatile data storage devices, a zeroing map. The zeroing map for a drive includes multiple slots, each of which corresponds to a data storage area of the drive. Each slot in the zeroing map for a drive stores a zeroing status of the corresponding data storage area. The value of a slot in the zeroing map may indicate that the zeroing status of the corresponding data storage area is i) zeroed, indicating that the corresponding data storage area has previously been zeroed, or ii) unknown, indicating that the zeroing status of the corresponding data is unknown, i.e. the corresponding data storage area may or may not have previously been zeroed.

First claim

Opening claim text (preview).

What is claimed is: 1. A method of drive zeroing in a data storage system, wherein the data storage system includes a storage processor and an array of non-volatile data storage devices communicably coupled to the storage processor, the method comprising: creating, for each drive in the array of non-volatile data storage devices, a zeroing map, wherein the zeroing map includes a plurality of slots, wherein each slot corresponds to one of a plurality of data storage areas in the respective drive and stores a zeroing status of the corresponding data storage area, and wherein each zeroing map is stored in a memory of the storage processor; receiving, by the storage processor, a host I/O operation, wherein the host I/O operation indicates a drive in the array of non-volatile data storage devices and a data storage area to be accessed on the drive; reading, in response to receipt of the host I/O operation, a value of a slot in the zeroing map corresponding to the data storage area to be accessed by the host I/O operation; in response to the value of the slot in the zeroing map corresponding to the data storage area to be accessed by the host I/O operation indicating that the data storage area to accessed by the host I/O has been zeroed, sending the host I/O operation to the array of non-volatile data storage devices to perform the host I/O operation on the drive; prior to receipt of the host I/O operation, detecting creation of a storage object, wherein some of the data storage areas in the drive are allocated to the storage object when the storage object is created, and wherein the data storage areas allocated to the storage object include the data storage area indicated by the host I/O operation; and in response to detecting creation of the storage object, modifying the values of slots in the zeroing map corresponding to data storage areas that were allocated to the storage object to indicate that the zeroing status of the data storage areas that were allocated to the storage object is unknown. 2. The method of claim 1 wherein the value of the slot in the zeroing map corresponding to the data storage area indicated by the host I/O operation indicates that the data storage area on the drive accessed by the host I/O has been zeroed since the storage object was created. 3. The method of claim 2 , further comprising: prior to detecting creation of the storage object, detecting a drive start-up event associated with the drive; in response to detecting the drive start-up event, initializing the values of all slots in the zeroing map for the drive to indicate that the zeroing status of all data storage areas on the drive is unknown; and starting a background process that changes the values of slots in the zeroing map for the drive to indicate that corresponding data storage areas have been zeroed in response to on-disk metadata stored on the drive, wherein the on-disk metadata stored on the drive indicates whether individual ones of a plurality of chunks of the drive have been zeroed, wherein the chunks of the drive each have a size that is less than a size of each of the data storage areas on the disk. 4. The method of claim 3 , wherein detecting the drive start-up event associated with the drive comprises detecting that the drive has been added to the array of non-volatile data storage devices. 5. The method of claim 3 , further comprising: receiving, by the storage processor, a second host I/O operation, wherein the second host I/O operation indicates a second data storage area to be accessed on the drive; reading, in response to receipt of the second host I/O operation, a value of a second slot in the zeroing map corresponding to the second data storage area; and in response to the value of the second slot in the zeroing map corresponding to the second data storage area indicating that the zeroing status of the second data storage area is unknown: reading the on-disk metadata stored on the drive to determine whether a chunk of the drive to be accessed by the second host I/O operation has been zeroed, in response to the on-disk metadata indicating that the chunk to be accessed by the second host I/O operation has not been zeroed, padding data received with the second host I/O operation with zeroes to align the data size of the second host I/O operation with the size of the chunk to be accessed by the second host I/O operation; and sending the second host I/O operation to the array of non-volatile data storage devices to perform the second host I/O operation on the drive. 6. The method of claim 5 , wherein the second host I/O operation comprises a write operation and wherein sending the second host I/O operation to the drive indicated by the second host I/O operation causes the entire chunk to be written. 7. The method of claim 1 , wherein the host I/O operation comprises a write operation and wherein sending the host I/O operation to the drive indicated by the host I/O operation causes data included with the host I/O operation to be written to the data storage area indicated by the host I/O operation. 8. The method of claim 1 , wherein the host I/O operation comprises a read operation and wherein sending the host I/O operation to the drive indicated by the host I/O operation causes data from the data storage area indicated by the host I/O operation to be returned to a host that issued the host I/O operation. 9. A data storage system, comprising: a storage processor including processing circuitry and a memory; an array of non-volatile data storage drives communicably coupled to the storage processor; and wherein the storage processor is configured to create, for each drive in the array of non-volatile data storage devices, a zeroing map, wherein the zeroing map includes a plurality of slots, wherein each slot corresponds to one of a plurality of data storage areas in the respective drive and stores a zeroing status of the corresponding data storage area, and wherein each zeroing map is stored in the memory of the storage processor; receive a host I/O operation, wherein the host I/O operation indicates a drive in the array of non-volatile data storage devices and a data storage area to be accessed on the drive; read, in response to receipt of the host I/O operation, a value of a slot in the zeroing map corresponding to the data storage area to be accessed by the host I/O operation; in response to the value of the slot in the zeroing map corresponding to the data storage area to be accessed by the host I/O operation indicating that the data storage area to accessed by the host I/O has been zeroed, send the host I/O operation to the array of non-volatile data storage devices to perform the host I/O operation on the drive; prior to receipt of the host I/O operation, detect creation of a storage object, wherein some of the data storage areas in the drive are allocated to the storage object when the storage object is created, and wherein the data storage areas allocated to the storage object include the data storage area indicated by the host I/O operation; and in response to detecting creation of the storage object, modify the values of slots in the zeroing map corresponding to data storage areas that were allocated to the storage object to indicate that the zeroing status of the data storage areas that were allocated to the storage object is unknown. 10. The data storage system of claim 9 wherein the value of the slot in the zeroing map corresponding to the data storage area indicated by the host I/O operation indicates that the data storage area on the drive accessed by the host I/O has been zeroed since the storage object was created. 11. The data storage system of claim 10 , wherein

Assignees

Inventors

Classifications

  • G06F3/061Primary

    Improving I/O performance · CPC title

  • Interfaces specially adapted for storage systems · CPC title

  • Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices · CPC title

  • Non-volatile semiconductor memory arrays · CPC title

  • Disk arrays, e.g. RAID, JBOD · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US10089015B1 cover?
Techniques are disclosed for drive zeroing that create and maintain a memory resident zeroing map for each drive in a data storage system. The disclosed techniques create, for each drive in an array of non-volatile data storage devices, a zeroing map. The zeroing map for a drive includes multiple slots, each of which corresponds to a data storage area of the drive. Each slot in the zeroing map …
Who is the assignee on this patent?
Emc Ip Holding Co Llc
What technology area does this patent fall under?
Primary CPC classification G06F3/061. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Oct 02 2018 00:00:00 GMT+0000 (Coordinated Universal Time) (B1). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 8 related publications on this page (citations in our corpus or others sharing the same primary CPC).