SOURCE: Tony Lee David Wang ABSTRACT: To control SACK operation in MAC layer TITLE: Re-Design of SACK for 1x Rev F TSG-C RECOMMENDATION: Discuss and adopt. VIA Telecom grants a free, irrevocable license to 3GPP2 and its Organizational Partners to incorporate text or other copyrightable material contained in the contribution and any modifications thereof in the creation of 3GPP2 publications; to copyright and sell in Organizational Partner's name any Organizational Partner's standards publication even though it may include all or portions of this contribution; and at the Organizational Partner's sole discretion to permit others to reproduce in whole or in part such contribution or the resulting Organizational Partner's standards publication. VIA Telecom are also willing to grant licenses under such contributor copyrights to third parties on reasonable, non-discriminatory terms and conditions for purpose of practicing an Organizational Partner’s standard which incorporates this contribution. This document has been prepared by VIA Telecom to assist the development of specifications by 3GPP2. It is proposed to the Committee as a basis for discussion and is not to be construed as a binding proposal on VIA Telecom. VIA Telecom specifically reserves the right to amend or modify the material contained herein and to any intellectual property of VIA Telecom other than provided in the copyright statement above.
Background In existing SACK design, the base station sends SACK Order over F-PCH to indicate which frames should be re-transmitted Thus it’s very important for the base station to know the total number of R-EACH data frames in the message So that the base station can properly set SELECTIVE_ACK_BIT_MASK the mobile station address information So that the SACK Order can be delivered over paging channel as an unicast message
Problem Identification 1.Number of frames are not know When the MS sends a message, the SAR sub-layer adds a header to indicate the length of the encapsulated PDU, and the header will be sent in the first fragment (Section in C.S0004) The parameter MSG_LENGTH indicates the length of the encapsulated PDU But at the base station side, the LAC layer doesn’t know how many R-EACH data frames are sent in the probe even if SAR receives the first fragment because the R-EACH data rate information is not delivered to SAR through the primitive PHY to LAC primivite MAC-Data.Indication (channel_id, channel_type, data, size, system_time, physical_channel_id)
Problem Identification 2.MS addressing fields Since the SACK Order is delivered over the paging channel, the mobile station’s address information is very important But currently, in the base station side, the SAR sub-layer doesn’t allow to pass PDU fragment to upper layers. Only if the encapsulated PDU passes the CRC check, the PDU is delivered to upper layers (Section in C.S0004) It means according to current spec only after the SAR sub-layer get a valid PDU, the mobile station’s address information can be obtained But if a valid PDU is received, it means all data frames are received correctly and there is no need to send SACK Order If we change the SAR procedure to allow the SAR sub-layer to deliver some PDU fragments to upper layers, it means the CRC check in SAR can not be performed. Even if the mobile station’s address information can be obtained, there might be errors in the address information
Problem Identification In Rev F, lower data rates are introduced for R-EACH. This can give more difficulties to get the message length and mobile address information According to Table of C.S0002, in Rev F, the minimum number of information bits in one R-EACH data frame is just 16 bits which corresponds to the rate of 1.5kbps It means that when new data rate is used, the first data frame (or fragment) might be not enough to carry the message length and mobile station address information For 1.5kbps rate, one data frame is not enough even for the message length information According to Section in C.S0004, for R-EACH the message length information plus SI bits will be 2(SI) + 1(EXT_MSG_LENGTH) + 7 or 15(MSG_LENGTH), which is 10 or 18 bits Thus it is difficult for the base station side to know how many frames (or fragments) are enough to get the message length and address information
Problem Identification 3. TA Timer in LAC In current SACK design, the actual probe becomes shorter and shorter after SACK Order received as less and less data frames are transmitted in the probe However, from LAC layer perspective, the length of the probes are the same with the first one as LAC layer doesn’t know that less frames are sent in the probe after SACK order received Thus even if the probe becomes shorter, LAC layer still needs to start TA timer after the period which is the time length of the first probe For example, the message contains 50 data frames with 20ms The first probe will be 50*20=1000ms After several transmissions, there are only 5 frames which should be re-sent. Thus the probe will be 5*20=100ms But from LAC layer perspective, the probe is till 1000ms long. And LAC layer will start TA timer after 1000ms.
Problem Identification 4. SACK Header insertion In current SACK design, SACK header is inserted after the preamble after SACK order is received. But MAC layer doesn’t know the SACK header will be transmitted. And MAC layer still passes down a data frame. What’s more, after SACK order is received, when physical layer needs to send the failed frame, the MAC layer may still pass down a frame which is successfully decoded. For example, the very first probe consists of preamble and 10 data frames (frame 0~9) After SACK Order is received, the mobile station knows that frame 0, 2, 3 are received. And in the next probe, the physical layer will send preamble, SACK header, frame 1, 4,5…9 But the MAC layer doesn’t know. After the preamble, MAC layer still pass down the whole message, i.e. frame 0 to 9.
Proposal It is proposed to get MAC layer more involved in the control of SACK operation both in the mobile station and the base station Mobile station side MAC layer determines in one probe which data frames should be re- sent and which ones should be skipped To introduce new header which provides temporary mobile station identifier and the total number of data frames in the probe SACK_SEQ is included in the header to identify different round of SACK message transmission Base station side Instead of SACK Order, SACK message is defined which sends the SELECTIVE_ACK_BIT_MASK to the mobile station SACK message is delivered over paging channel MAC layer buffers the successfully received data frames and generate proper SELECTIVE_ACK_BIT_MASK
Details Mobile station side The modified SACK Header is shown The SRT_HEADER_ID is still set to ‘10’ to indicate this frame is SACK Header MOBILE_ID provides a temporary ID for the mobile station It’s a random number generate by the mobile The mobile shall not change this number in one access attempt HEADER_EXT is always set to ‘11’ It is used to identify the data frame is a part of the header only if 1.5kbps data rate is used for R-EACH FRAME_NUM to indicate the number of data frames in the probe The SACK_SEQ is 4 bits long to identify different round of SACK message transmission Since temporary mobile ID is provided, 4 bits should be enough for SACK_SEQ SACK_SEQ is incremented after corresponding SACK message is received The SACK Header is sent in all access probes in the access attempt FieldLength (bits) SRT_HEADER_ID2 MOBILE_ID14 HEADER_EXT2 FRAME_NUM10 SACK _SEQ4 RESERVEDAs required
Details Mobile station side Probe structure After the mobile station initiates the access attempt, all the probes shall be sent as below Preamble + SACK Header + R-EACH data frames The SACK Header shall use the same structure as the data frame If 1.5 kbps data rate is used, MAC layer shall assemble the header into two frames. If other data rate is selected, one data frame is enough to carry the header
Details Base station side Define a SACK Message instead of SACK Order in Layer 3 MS_ID is set to MOBILE_ID which is received in the SACK Header SACK_ID is set to SACK_SEQ which is received in the SACK Header Setting of SELECTIVE_ACK_BIT_MASK_LENGTH and SELECTIVE_ACK_BIT_MASK is the same with the existing SACK Order SACK is delivered to the mobile station over paging channel FieldLength (bits) MS_ID14 SACK_ID4 SELECTIVE_ACK_BIT _MASK_LENGTH Variable SELECTIVE_ACK_BIT _MASK Variable RESERVED0-7 (As required)
Working Procedures If the mobile station is to use SACK, after initiating access attempt, the mobile station send SACK header and data frames after the preamble At the base station side, only if both the SACK Header is successfully decoded (If 1.5kbps is detected, it means the first two data frames should be decoded. If other rate is used, it means the first one data frame should be decoded), the base station shall do as below. Otherwise, the base station does nothing The base station shall create a buffer for the mobile station based on the MOBILE_ID The base station shall construct a corresponding SACK message MS_ID is set to MOBILE_ID SACK_ID is set to SACK_SEQ SELECTIVE_ACK_BIT_MASK is generated based on which data frames are successfully decoded
Working Procedures If the mobile detects a SACK message with the MS_ID is set to its MOBILE_ID, SACK_ID set to the SACK_SEQ in the previous probe, the mobile station knows a SACK message corresponding to its previous probe is received In the following probe, the mobile station shall send SACK Header plus those data frames which should be re-sent according to the received SELECTIVE_ACK_BIT_MASK In the SACK Header, the mobile station shall change the value of SACK_SEQ If no SACK messages is received before sending the next probe, the mobile station just re-send the previous probe with the same content At the mobile station side, the MAC layer can tell LAC that one probe is finished. Thus LAC layer can know the probe becomes shorter and shorter. Right after the probe transmission is finished, LAC layer can start TA timer After sending one probe, if there is no SACK message or BSAck received over paging channel, the LAC layer initiate the next probe right after TA timer expires. If SACK message is received, TA timer can be stopped and the next probe can be initiated (or if SACK is received, the next probe is initiated still after TA timer expires, i.e. it is treated as no BSAck is not received within TA timer). If BSAck is received before TA timer expires, the access attempt is terminated.
Working Procedures At the base station side, it shall check the SACK_SEQ received If it is the same with the SACK_ID in the previous SACK message, the base station knows that the previous SACK message is lost. The base station shall re-send the previous SACK message If the SACK_SEQ is different with SACK_ID in the previous SACK message, the base station knows that the previous was successfully received, and shall construct a new SACK message After all the data frames are successfully received, the MAC layer in the base station shall send the buffered frames to LAC layer for further processing
Advantage With the proposed scheme to put more SACK control in MAC layer The SACK message can be delivered to proper mobile station When lower data rate is used, it’s helpful to reduce the load over R-EACH as the first one or two frames can provide enough information for SACK operation