System and method for flash storage management using multiple open page stripes
AssigneeAlibaba Group Holding Limited
InventorsPing Zhou, Shu Li
Life of this patent
Estimating the term…
Abstract
One embodiment facilitates flash storage management. During operation, the system receives a request to write data to a non-volatile memory. The system writes, in a buffer in association with a controller, the data to a next available portion of a current physical page in a page stripe, wherein the page stripe includes physical pages which each correspond to a sequentially ordered die of the non-volatile memory. The system provides power-loss protection to the current physical page and a second physical page which indicates parity information for the page stripe, thereby providing power-loss protection to an increased number of partially full page stripes.
Claims20
A computer-implemented method for facilitating flash storage management, the method comprising:
- receiving a request to write data to a non-volatile memory;
- writing, in a buffer in association with a controller, a first part of the data to fill next available portions of a current physical page in a page stripe until the current physical page is full, wherein the page stripe includes physical pages which each correspond to a sequentially ordered die of the non-volatile memory;
- flushing the current physical page from the buffer to the non-volatile memory;
- writing a remainder of the data to available portions of a next physical page in the page stripe to obtain a partially filled physical page,
- wherein a second physical page of the page stripe comprises parity information for the first part of the data and the remainder of the data in the partially filled physical page;
- and
- providing power-loss protection only to the partially filled physical page and the second physical page which indicates parity information for partially filled data of the page stripe without providing power-loss protection to the flushed current physical page and any unfilled physical pages in the page stripe.
A computer system for facilitating flash storage management, the system comprising:
- a processor;
- and
- a memory coupled to the processor and storing instructions, which when executed by the processor cause the processor to perform a method, the method comprising:
- receiving a request to write data to a non-volatile memory;
- writing, in a buffer in association with a controller, a first part of the data to fill next available portions of a current physical page in a page stripe until the current physical page is full, wherein the page stripe includes physical pages which each correspond to a sequentially ordered die of the non-volatile memory;
- flushing the current physical page from the buffer to the non-volatile memory;
- writing a remainder of the data to available portions of a next physical page in the page stripe to obtain a partially filled physical page,
- wherein a second physical page of the page stripe comprises parity information for the first part of the data and the remainder of the data in the partially filled physical page;
- and
- providing power-loss protection only to the partially filled physical page and the second physical page which indicates parity information for partially filled data of the page stripe without providing power-loss protection to the flushed current physical page and any unfilled physical pages in the page stripe.
An apparatus for facilitating flash storage management, the device comprising:
- a communication unit configured to receive a request to write data to a non-volatile memory;
- a buffer-writing unit configured to write, in a buffer in association with a controller, a first part of the data to fill next available portions of a current physical page in a page stripe until the current physical page is full, wherein the page stripe includes physical pages which each correspond to a sequentially ordered die of the non-volatile memory;
- a buffer-flushing unit configured to flush the current physical page from the buffer to the non-volatile memory;
- wherein the buffer-writing unit is further configured to write a remainder of the data to available portions of a next physical page in the page stripe to obtain a partially filled physical page,
- wherein a second physical page of the page stripe comprises parity information for the first part of the data and the remainder of the data in the partially filled physical page;
- and
- a power loss-protecting unit configured to provide power-loss protection only to the partially filled physical page and the second physical page which indicates parity information for the page stripe without providing power-loss protection to the flushed current physical page and any unfilled physical pages in the page stripe.
Dependencies are inferred from the claim text.