# US 2017/0286014 A1 · Method and apparatus for processing sequential writes to portions of an addressible unit

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 2017/0286014 A1
- Document ID: US20170286014A1
- Status: Published application
- Kind: A1
- Application number: 15/089,333
- Filed: 2016-04-01
- Published: 2017-10-05
- Earliest claimed: 2016-04-01
- Assignees: Intel Corporation
- Applicants: Intel Corporation
- Inventors: Frank T. HADY
- Web page: https://patentgrep.com/patent/US20170286014A1

## CPC

- G06F 3/0659: {Command handling arrangements, e.g. command buffers, queues, command scheduling}
- G06F 3/061: {Improving I/O performance}
- G06F 3/0616: {in relation to life time, e.g. increasing Mean Time Between Failures [MTBF]}
- G06F 3/0619: {in relation to data integrity, e.g. data losses, bit errors}
- G06F 3/0679: {Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]}
- G06F 13/16: for access to memory bus (G06F13/28 takes precedence)
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

Provided are an apparatus and method for processing sequential writes portions of an addressable unit memory dies to store data. A write to a first portion of an addressable unit is received and the write is written to the first portion of the addressable unit. A next write is received to a next portion of the addressable unit following a previous write to a previous portion of the addressable unit. The next write is written to the next portion of the addressable unit sequentially following the previous portion in response to the next write being sequential with respect to the previous write. Data other than the next write is written to the addressable unit following the previous portion in response to the next write not being sequential with respect to the previous write.

## Claims

### Claim 1

An apparatus, comprising:
memory dies to store data;
a controller to perform write operations with respect to the memory dies, to:
receive a write to a first logical address of consecutive logical addresses stored in a physical block of data sectors;
write the received write to the physical block;
receive a next write to a logical address following the first logical address in the physical block;
write the next write to the physical block in response to the next write being sequential with respect to a previous write to the physical block; and
write data other than the next write to the physical block of data sectors following the previous write in response to the next write not being sequential with respect to the previous write.

### Claim 2 (depends on 1)

The apparatus of claim 1, wherein the writing data other than the next write comprises performing a read-modify-write operation to write the data for the next write to the physical block.

### Claim 3 (depends on 1)

The apparatus of claim 1, wherein the writing data other than the next write comprises writing random data to a remainder of the physical block following the previous write.

### Claim 4 (depends on 1)

The apparatus of claim 1, wherein the controller is further to:
create a block write information instance of the physical block in response to the write to the first logical address of the physical block indicating a previous written location to which data was previously written to the physical block following the writing of the data for the first logical address.

### Claim 5 (depends on 4)

The apparatus of claim 4, wherein the controller is further to:
determine whether the next write is for a next location in the physical block sequential with respect to the previous written location in the block write information instance for the physical block, wherein the next write is written in response to determining that the next location is sequential with respect to the previous written location; and
increment the previous written location to indicate the next location.

### Claim 6 (depends on 4)

The apparatus of claim 4, wherein the controller is further to:
maintain block write information instances for multiple streams of sequential writes to multiple physical blocks, wherein the next write is written in response to their being a block write information instance for the physical block, and wherein writes are received interleaved for different physical blocks for which block write information instances are created and written sequentially to the physical blocks to which they are directed.

### Claim 7 (depends on 4)

The apparatus of claim 4, wherein the controller is further to:
remove the block write information instance in response to writing sequential data to all data sectors of the physical block.

### Claim 8 (depends on 4)

The apparatus of claim 4, wherein the controller is further to:
perform a read-modify-write to write the next write to the physical block including the next write in response to there not being a block write information instance created for the physical block.

### Claim 9

An apparatus, comprising:
memory dies to store data;
a controller to perform write operations with respect to the memory dies, to:
receive a write to a first portion of an addressable unit;
write the write to the first portion of the addressable unit;
receive a next write to a next portion of the addressable unit following a previous write to a previous portion of the addressable unit;
write the next write to the next portion of the addressable unit sequentially following the previous portion in response to the next write being sequential with respect to the previous write; and
write data other than the next write to the addressable unit following the previous portion in response to the next write not being sequential with respect to the previous write.

### Claim 10 (depends on 9)

The apparatus of claim 9, wherein the writing data other than the next write comprises performing a read-modify-write operation to write the data for the next write to the addressable unit.

### Claim 11 (depends on 9)

The apparatus of claim 9, wherein the addressable unit comprises a logical block address (LBA) and wherein the writes to the first and next portions comprise addressable sub-sections of the LBA.

### Claim 12 (depends on 9)

The apparatus of claim 9, wherein the addressable unit comprises a block group and wherein the portions comprise physical blocks in the block group comprised of data sectors, wherein each of the writes are to one of the physical blocks in the block group.

### Claim 13 (depends on 9)

The apparatus of claim 9, wherein the writing data other than the next write comprises writing random data to a remainder of the addressable unit following the previous write.

### Claim 14

A method to perform write operations with respect to memory dies of a memory subsystem, comprising:
receiving a write to a first logical address of consecutive logical addresses stored in a physical block of data sectors;
writing the received write to the physical block;
receiving a next write to a logical address following the first logical address in the physical block;
writing the next write to the physical block in response to the next write being sequential with respect to a previous write to the physical block; and
writing data other than the next write to the physical block of data sectors following the previous write in response to the next write not being sequential with respect to the previous write.

### Claim 15 (depends on 14)

The method of claim 14, wherein the writing data other than the next write comprises performing a read-modify-write operation to write the data for the next write to the physical block.

### Claim 16 (depends on 14)

The method of claim 14, wherein the writing data other than the next write comprises writing random data to a remainder of the physical block following the previous write.

### Claim 17 (depends on 14)

The method of claim 14, further comprising:
creating a block write information instance of the physical block in response to the write to the first logical address of the physical block indicating a previous written location to which data was previously written to the physical block following the writing of the data for the first logical address.

### Claim 18 (depends on 17)

The method of claim 17, further comprising:
determining whether the next write is for a next location in the physical block sequential with respect to the previous written location in the block write information instance for the physical block, wherein the next write is written in response to determining that the next location is sequential with respect to the previous written location; and
incrementing the previous written location to indicate the next location.

### Claim 19 (depends on 17)

The method of claim 17, further comprising:
maintaining block write information instances for multiple streams of sequential writes to multiple physical blocks, wherein the next write is written in response to their being a block write information instance for the physical block, and wherein writes are received interleaved for different physical blocks for which block write information instances are created and written sequentially to the physical blocks to which they are directed.

### Claim 20 (depends on 17)

The method of claim 17, further comprising:
removing the block write information instance in response to writing sequential data to all data sectors of the physical block.

### Claim 21 (depends on 17)

The method of claim 17, further comprising:
performing a read-modify-write to write the next write to the physical block including the next write in response to there not being a block write information instance created for the physical block.

### Claim 22

A method to perform write operations with respect to memory dies of a memory subsystem, comprising:
receiving a write to a first portion of an addressable unit;
writing the write to the first portion of the addressable unit;
receiving a next write to a next portion of the addressable unit following a previous write to a previous portion of the addressable unit;
writing the next write to the next portion of the addressable unit sequentially following the previous portion in response to the next write being sequential with respect to the previous write; and
writing data other than the next write to the addressable unit following the previous portion in response to the next write not being sequential with respect to the previous write.

### Claim 23 (depends on 22)

The method of claim 22, wherein the writing data other than the next write comprises performing a read-modify-write operation to write the data for the next write to the addressable unit.

### Claim 24 (depends on 22)

The method of claim 22, wherein the addressable unit comprises a logical block address (LBA) and wherein the writes to the first and next portions comprise addressable sub-sections of the LBA.

### Claim 25 (depends on 22)

The method of claim 22, wherein the addressable unit comprises a block group and wherein the portions comprise physical blocks in the block group comprised of data sectors, wherein each of the writes are to one of the physical blocks in the block group.
