Live migration of data

US2017192714A1 · US · A1

Patent metadata
FieldValue
Publication numberUS-2017192714-A1
Application numberUS-201415313690-A
CountryUS
Kind codeA1
Filing dateJul 31, 2014
Priority dateJul 31, 2014
Publication dateJul 6, 2017
Grant date

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.

According to an example, hierarchal stripe locks may be obtained for a source stripe and a destination stripe. In response to receiving data for the source stripe, the data is written from the source stripe to the destination stripe, and the hierarchal stripe locks are released for the source stripe and the destination stripe. In response to receiving the data-migrated token, the hierarchal stripe locks are released for the source stripe and the destination stripe.

First claim

Opening claim text (preview).

What is claimed is: 1 . A method for live migration of data from a source stripe to a destination stripe, the method comprising: obtaining, by a redundancy controller, hierarchal stripe locks for the source stripe and the destination stripe; receiving a data-migrated token or the data from the source stripe; in response to receiving the data, writing the data from the source stripe to the destination stripe, writing a data-migrated token to the source stripe, and releasing the hierarchal stripe locks for the source stripe and the destination stripe; and in response to receiving a data-migrated token indicating the data is already migrated from the source stripe, releasing the hierarchal stripe locks for the source stripe and the destination stripe. 2 . The method of claim 1 , comprising staging an entry into the live migration of the data, wherein a first stage comprises: arming reads for each distributed redundancy controller, wherein the armed reads for each distributed redundancy controller are to redirect each read to the destination stripe when the data-migrated token indicating the data is already migrated from the source stripe. 3 . The method of claim 2 , wherein the staging comprises a second stage and the second stage comprises: arming writes for each of the distributed redundancy controllers, wherein each write performed by a distributed redundancy controller is to: obtain the hierarchal stripe locks for the source stripe and the destination stripe, write the data to the destination stripe, write the data-migrated token to the source stripe, and release the hierarchal stripe locks for the source stripe and the destination stripe. 4 . The method of claim 1 , comprising staging an exit from the live migration of the data, wherein staging the exit comprises: determining that the data migrated token is received for all source stripes in a source memory buffer; and updating each of the distributed redundancy controllers to only access the destination stripes in a destination memory buffer. 5 . The method of claim 1 , wherein obtaining the hierarchal stripe locks comprises: ordering one of the hierarchal stripe locks as a primary stripe lock and another of the hierarchal stripe locks as a secondary stripe lock; and obtaining the primary stripe lock prior to the secondary stripe lock. 6 . The method of claim 5 , wherein the ordering of one of the hierarchal stripe locks is based on stripe numbers and identification numbers of media controllers for the source stripe and the destination stripe. 7 . A computing device for live migration of data from a source stripe to a destination stripe, comprising a hardware redundancy controller to: acquire hierarchal stripe locks for the source stripe and the destination stripe; receive one of the data and a data-migrated token from the source stripe; copy the data from the source stripe to the destination stripe and release the hierarchal stripe locks for the source stripe and the destination stripe if the data is received from the source stripe; and release the hierarchal stripe locks for the source stripe if the data-migrated token is received from the source stripe. 8 . The computing device of claim 7 , wherein to copy data from the source stripe to the destination stripe, the hardware redundancy controller is to write a data-migrated token to the source stripe. 9 . The computing device of claim 7 , wherein the hardware redundancy controller is to arm each distributed redundancy controller to redirect reads to the destination stripe when the data-migrated token is received as a first stage prior to the live migration of data. 10 . The computing device of claim 9 , wherein the hardware redundancy controller is to arm writes for each of the distributed redundancy controllers, wherein each write is to acquire the hierarchal stripe locks for the source stripe and the destination stripe, copy the data from the source stripe to the destination stripe, write the data-migrated token to the source stripe, and release the hierarchal stripe locks for the source stripe and the destination stripe as a second stage prior to the live migration of data. 11 . The computing device of claim 7 , wherein the hardware redundancy controller is to determine that the data-migrated token is received for all source stripes in a source memory buffer and update each of the distributed redundancy controllers to only access the destination stripes in a destination memory buffer subsequent to the live migration of data. 12 . The computing device of claim 7 , wherein to acquire the hierarchal stripe locks, the hardware redundancy controller is to: order one of the hierarchal stripe locks as a primary stripe lock and another of the hierarchal stripe locks as a secondary stripe lock; and acquire the primary stripe lock prior to the secondary stripe lock. 13 . A system comprising: a plurality of redundancy controllers; a plurality of memory modules each including a media controller and a memory, wherein the memory modules are connected to the plurality of redundancy controllers through a memory bus, wherein each of the redundancy controllers is to: initiate, by a migration engine, the live migration of data from a source stripe to a destination stripe, wherein the source stripe and the destination stripe are in at least one of the plurality of memory modules; acquire, by a stripe locking module, hierarchal stripe locks for a source stripe and a destination stripe; and receive data-migrated token or the data for the source stripe, wherein in response to receiving the data for the source stripe, write the data from the source stripe to the destination stripe, write a data-migrated token to the source stripe, update a parity for the source stripe and the destination stripe, and release the hierarchal stripe locks for the source stripe and the destination stripe, and wherein in response to receiving the data-migrated token, release the hierarchal stripe locks for the source stripe and the destination stripe. 14 . The system of claim 13 , each of the redundancy controllers is to stage an entry into the live migration of the data, wherein to stage the entry is to: arm reads for each distributed redundancy controller, wherein the armed reads for each distributed redundancy controller are to redirect each read to the destination stripe when the data-migrated token is received; and arm writes for each of the distributed redundancy controllers, wherein each write by a distributed redundancy controller is to: obtain the hierarchal stripe locks for the source stripe and the destination stripe, write the data from the source stripe to the destination stripe, write the data-migrated token to the source stripe, update the parity for the source stripe and the destination stripe, and release the hierarchal stripe locks for the source stripe and the destination stripe. 15 . The system of claim 13 , wherein the each of the redundancy controllers is to stage an exit from the live migration of the data, wherein to stage the exit is to: determine that the data-migrated token is received for all source stripes in a source memory buffer; and update each of the distributed redundancy controllers to only access the destination stripes in a destination memory buffer.

Assignees

Inventors

Classifications

  • Plurality of storage devices · CPC title

  • Data buffering arrangements · CPC title

  • G06F11/108Primary

    Parity data distribution in semiconductor storages, e.g. in SSD · CPC title

  • G06F3/0647Primary

    Migration mechanisms · CPC title

  • in relation to data integrity, e.g. data losses, bit errors · 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 US2017192714A1 cover?
According to an example, hierarchal stripe locks may be obtained for a source stripe and a destination stripe. In response to receiving data for the source stripe, the data is written from the source stripe to the destination stripe, and the hierarchal stripe locks are released for the source stripe and the destination stripe. In response to receiving the data-migrated token, the hierarchal str…
Who is the assignee on this patent?
Hewlett Packard Entpr Dev Lp
What technology area does this patent fall under?
Primary CPC classification G06F11/108. Mapped technology areas include Physics.
When was this patent published?
Publication date Thu Jul 06 2017 00:00:00 GMT+0000 (Coordinated Universal Time) (A1). 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).